Atest: method filtering

Allow a user to filter tests by method.

To filter test, we resolve to CLASS or PATH references, and then
we split on "#" which is how the user appends a method.

We also save test-info suitable for AtestRunner to consume to a tempfile
now, instead of passing it on the command line.

Bug: b/68205177
Test: atest SequentialRWTest AlmostFullTest
      atest SequentialRWTest AlmostFullTest#testRandomRead
      atest SequentialRWTest AlmostFullTest#testRandomRead,testRandomUpdate
      atest SequentialRWTest#testSingleSequentialUpdate AlmostFullTest#testRandomRead
      atest SequentialRWTest#testSingleSequentialUpdate AlmostFullTest#testRandomRead SequentialRWTest
      atest SequentialRWTest#testSingleSequentialUpdate AlmostFullTest#testRandomRead SequentialRWTest AlmostFullTest
      atest SequentialRWTest#testSingleSequentialUpdate AlmostFullTest#testRandomRead SequentialRWTest example/reboot CtsFileSystemTestCases
      atest CtsFileSystemTestCases
      atest example/reboot
      atest SequentialRWTest
      ./cli_translator_unittest.py
      ./atest_unittest.py
      tradefed.sh run host -n --class com.android.tradefed.testtype.suite.AtestRunnerTest

Change-Id: I64ac3ce3f3396c672a121a2b34026568be71a915
6 files changed
tree: 72738757e6154bb4624c72a31d5d9adc6e1e71ac
  1. atest/
  2. prod-tests/
  3. proto/
  4. python-lib/
  5. remote/
  6. res/
  7. src/
  8. tests/
  9. util-apps/
  10. .classpath
  11. .gitignore
  12. .project
  13. Android.bp
  14. Android.mk
  15. atest_tradefed.sh
  16. CleanSpec.mk
  17. error_prone_rules.mk
  18. MANIFEST.mf
  19. OWNERS
  20. PREUPLOAD.cfg
  21. README.md
  22. run_tf_cmd.sh
  23. script_help.sh
  24. tradefed.sh
  25. tradefed_win.bat
  26. verify.sh
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

More information at: https://source.android.com/devices/tech/test_infra/tradefed/