Support "file_patterns" matched function for test mapping in TF

Test Provider provides the modified files and test mapping paths to TF.
TF will check the test to be triggered according to the modified file
paths and file patterns.

Verify with forrest run:
- https://android-build.googleplex.com/builds/abtd/run/L73100000958013006
- https://android-build.googleplex.com/builds/abtd/run/L22500000958020089

Verify with presubmit result of aosp/2381994:
Without "file_patterns" matched funcion
- https://android-build.googleplex.com/builds/tests/view?invocationId=I30700010122570686&testResultId=TR96328452615075460
With "file_patterns" matched funcion
- https://android-build.googleplex.com/builds/tests/view?invocationId=I29200010122523784&testResultId=TR52528452349630099

Bug: 240110142
Test: run_tradefed_tests.sh --class com.android.tradefed.util.testmapping.TestMappingTest
run_tradefed_tests.sh --class com.android.tradefed.testtype.suite.TestMappingSuiteRunnerTest

Change-Id: I61cf7c8111ff16d00880e6d14cf1745dfebed21c
7 files changed
tree: 9aa2da83a84efa815db1a2133fc6d30f911f4dea
  1. aoa_helper/
  2. atest_proto/
  3. clearcut_client/
  4. common_util/
  5. device_build_interfaces/
  6. external_dependencies/
  7. global_configuration/
  8. invocation_interfaces/
  9. isolation/
  10. javatests/
  11. lite/
  12. proto/
  13. reference_tests/
  14. remote/
  15. res/
  16. src/
  17. test_framework/
  18. test_observatory/
  19. test_result_interfaces/
  20. util_apps/
  21. .classpath
  22. .gitignore
  23. .project
  24. Android.bp
  25. Android.mk
  26. aosp_sha.sh
  27. atest_tradefed.sh
  28. CleanSpec.mk
  29. error_prone_rules.mk
  30. MANIFEST.mf
  31. OWNERS
  32. PREUPLOAD.cfg
  33. pylintrc
  34. README.md
  35. run_tf_cmd.sh
  36. script_help.sh
  37. TEST_MAPPING
  38. tradefed.sh
  39. tradefed_win.bat
README.md

Trade Federation (TF / Tradefed)

TF is a test harness used to drive Android automated testing. It runs on test hosts and monitors the connected devices, handling test scheduling & execution and device management.

Other test harnesses like Compatibility Test Suite (CTS) and Vendor Test Suite (VTS) use TF as a basis and extend it for their particular needs.

Building TF:

  • source build/envsetup.sh
  • tapas tradefed-all
  • make -j8

Getting Code Reviewed

1. Create your change in Gerrit
2. Add the reviewer named "Tradefed Codereview" (email: tradefed-codereview@tradefederation.google.com.iam.gserviceaccount.com)
3. Review the code review guidance at go/tf-guidelines and go/tradefed-code-reviews
4. GWSQ should add a couple of people from the team to review your code and give feedback.

More information

More information at: https://source.android.com/docs/core/tests/tradefed/

See more details about Tradefed Architecture at: https://source.android.com/docs/core/tests/tradefed/architecture

If you are a tests writer you should start looking in the test_framework/ component which contains everything needed to write a tests in Tradefed.