Support module-arg in TEST_MAPPING files

This change allows TEST_MAPPING json file to include module-arg for each
test module. The module args will be added to suite runner for each
test module.
An example of a test with option in TEST_MAPPING looks like this:
{
  "name": "test2",
  "options": [
    {
      "instrumentation-arg": "annotation=android.platform.test.annotations.Presubmit"
    }
  ]
}
When TradeFed runs a suite for this TEST_MAPPING file, the command line
will be like:
tradefed.sh run ... --include-filter test2 --module-arg \
  test2:instrumentation-arg:annotation=android.platform.test.annotations.Presubmit

Bug: 79529839
Test: unittest
Change-Id: I58aaf339f810a5666277abb1aa2703cf6f00d97d
7 files changed
tree: 57ac2a7a8499f7c9cea6f0b7ed60a236a659caa4
  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/