ATest: Exit code implementation

ATest's exit code should be non-zero if test result not pass or
exception happened. But currently it won't care the result of the tests
be run.

Bug: 72876026
Test: unset ATEST_OLD_OUTPUT ; adb root ; atest net_test_bta (Exit Code 0)
      unset ATEST_OLD_OUTPUT ; adb unroot ; atest net_test_bta (Exit Code 5)
      export ATEST_OLD_OUTPUT=1 ; adb unroot ; atest net_test_bta (Exit Code 0)
      export ATEST_OLD_OUTPUT=1 ; adb root ; atest net_test_bta (Exit Code 0)
      atest performance/app-transitions (Exit Code 0)
      atest app/launch (Exit Code 5)
      atest RunBluetoothRoboTests (Exit Code 0)
      atest VtsCodelabHelloWorldTest (Exit Code 0)
      atest RunBluetoothRoboTests CarMessengerRoboTests (Exit Code 0)

Change-Id: Iba71b33ef5243ec9cce4b1d2df82bb15c6b52a7f
15 files changed
tree: 6d7034e667bdfa79f7a82f2607281ff482e49b31
  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/