Reuse on-device apexes when running ART chroot tests.

Use only the ART test apex from the build, and reuse whatever
apexes are on the device for the remaining dependencies.

The original intent was to keep the ART tests hermetic so that
if ART depends on simultaneous changes in other apexes, the
changes will get picked up. This setup also allowed us to
run the tests on very old devices (potentially several years old).

This seems less relevant for eng-prod tests since the devices
are likely to more up to date (in fact, they are likely to be
flashed with the whole system image of the tested build).
We can also trust the apex API boundary stability more now.

Motivation: The conscrypt apex is switching to compressed mode.
Rather than supporting it, this removes the dependency.
It also removes the need for separate make command before atest.

Bug: 196361021
Bug: 187416712
Test: atest ArtGtestsTargetChroot
Change-Id: I287c1aadff833147656353392e9700ed40016750
1 file changed
tree: aa831577a7b3d2bb6bf61e142e048c04b2888193
  1. aoa_helper/
  2. atest_proto/
  3. clearcut_client/
  4. common_util/
  5. device_build_interfaces/
  6. global_configuration/
  7. invocation_interfaces/
  8. isolation/
  9. javatests/
  10. lite/
  11. proto/
  12. reference_tests/
  13. remote/
  14. res/
  15. src/
  16. test_framework/
  17. test_result_interfaces/
  18. tests/
  19. util-apps/
  20. .classpath
  21. .gitignore
  22. .project
  23. Android.bp
  24. Android.mk
  25. aosp_sha.sh
  26. atest_tradefed.sh
  27. CleanSpec.mk
  28. error_prone_rules.mk
  29. MANIFEST.mf
  30. OWNERS
  31. PREUPLOAD.cfg
  32. pylintrc
  33. README.md
  34. run_tf_cmd.sh
  35. script_help.sh
  36. TEST_MAPPING
  37. tradefed.sh
  38. 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

Getting Code Reviewed

1. Create your change in Gerrit
2. Add the reviewer named "Tradefed Codereview" (email: tradefed-codereview@tradefederation.google.com.iam.gserviceaccount.com)
3. Review the code review guidance at go/tf-guidelines and go/tradefed-code-reviews
4. GWSQ should add a couple of people from the team to review your code and give feedback.

More information

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.