Add support for escaped ':' in 'set-option' value

When a ':' character is used in a 'set-option' value the ':'
needs to be escaped since ':' is used to split the key/value pair.  This
is needed in particular when a URI is used.

Bug: 143214492
Bug: 142937037
Test: build, run unit tests, run the below command:

tradefed.sh run commandAndExit build/kernel-image-check \
--set-option kernel-image-check-tool:gs\\://tradefed_test_resources/teams/android-kernel-team/libabigail/ \
--set-option kernel-image-alt-path:/path/to/kernel/out/dir \
--set-option kernel-abi-file:/path/to/kernel/abi.xml

Change-Id: Ia656df872713e88fc21d3d32ad90b6a7756daff3
Signed-off-by: Will McVicker <willmcvicker@google.com>
2 files changed
tree: 1d115a3630d8479c36810b5a6ec2ed143066f4ea
  1. atest/
  2. clearcut_client/
  3. common_util/
  4. device_build_interfaces/
  5. global_configuration/
  6. invocation_interfaces/
  7. proto/
  8. python-lib/
  9. remote/
  10. res/
  11. src/
  12. test_framework/
  13. test_result_interfaces/
  14. tests/
  15. util-apps/
  16. .classpath
  17. .gitignore
  18. .project
  19. Android.bp
  20. Android.mk
  21. atest_tradefed.sh
  22. CleanSpec.mk
  23. error_prone_rules.mk
  24. MANIFEST.mf
  25. OWNERS
  26. PREUPLOAD.cfg
  27. pylintrc
  28. README.md
  29. run_tf_cmd.sh
  30. script_help.sh
  31. TEST_MAPPING
  32. tradefed.sh
  33. 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

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

See more details about Tradefed Architecture at: https://source.android.com/devices/tech/test_infra/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.