RootTargetPreparer: add option to ignore failure and carry on with setup

In some scenarios tests (e.g CtsInitTestCases, CtsFsMgrTestCases) are
shared between different test suites (e.g. cts, vts) which means that
some of the tests cases require root, while others don't.

Adding an option to ignore failure of `adb root` will make it possible
to run those tests on both user and userdebug builds via the same
command (e.g. atest CtsInitTestCases).

Test: locally added RootTargetPreparer to CtsInitTestCases
Test: run atest CtsInitTestCases on aosp_blueline-user
Test: run_tradefed_tests.sh
Change-Id: I26d2b9785ebce29904ecbdd2358d2e354f78cab6
2 files changed
tree: 2785870f520422ba089eb3b9359954e4a0a54f7e
  1. atest/
  2. clearcut_client/
  3. common_util/
  4. device_build_interfaces/
  5. global_configuration/
  6. invocation_interfaces/
  7. isolation/
  8. lite/
  9. proto/
  10. python-lib/
  11. remote/
  12. res/
  13. src/
  14. test_framework/
  15. test_result_interfaces/
  16. tests/
  17. util-apps/
  18. .classpath
  19. .gitignore
  20. .project
  21. Android.bp
  22. Android.mk
  23. atest_tradefed.sh
  24. CleanSpec.mk
  25. error_prone_rules.mk
  26. MANIFEST.mf
  27. OWNERS
  28. PREUPLOAD.cfg
  29. pylintrc
  30. README.md
  31. run_tf_cmd.sh
  32. script_help.sh
  33. TEST_MAPPING
  34. tradefed.sh
  35. 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.