Have AtraceMetricCollector work with postprocsesing tools.

After collecting the trace, allow the metric to use self-contained
binaries to process the traces. A fair amount of existing trace tooling
is not in Java, and this allows reuse of the tooling without porting.
The subprocess results are managed in the same way that the
PythonUnitTestRunner works, it will launch the process and then extract
metrics and/or result files from the output text according to the
defined grammar.

Bug: 73541075
Test: 4 new unit tests. Run:
      tradefed.sh run singleCommand host -n --class
      com.android.tradefed.device.metric.AtraceCollectorTest
Change-Id: I745288edd7e0fc4ca1cd9590ce50a54f107f9933
2 files changed
tree: 4ab6f31657577c03d4d242665f3433d15eac05f1
  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. pylintrc
  22. README.md
  23. run_tf_cmd.sh
  24. script_help.sh
  25. TEST_MAPPING
  26. tradefed.sh
  27. tradefed_win.bat
  28. 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/