Reuse GCSConfigurationFactory for clone the host config.

Before this change, TF save the latest host config downloaded from GCS, but it is
incorrect when the host config include other host configs from GCS, since it will
only save the deepest included one. e.g.:
host-config1 include host-config2, host-config2 include common.xml. Then TF will
save common.xml. When start sandbox, it will use common.xml but miss information
from host-config1 and host-config2.

In this change, instead of save the host config locally, we reuse the
GCSConfigurationFactory. When clone the host config, it will get the
host configs with all its dependencies from GCS.

Bug: 143501254
Test: unit test.
Change-Id: I7a6295f116957ac0b1d289ea1535306f8100b6a1
5 files changed
tree: c287a0022efcd9777b13b60166021ed7674907ee
  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.