improve the wait logic in nested ssh bugreport

If this is the first time running an adb command on remote VM,
the nested virtual device might not become visible to the adb
server immediately. This is due to the implementation of
adb_connector on remote VM.

This patch prefixed the bugreport command with a
`wait-for-device` to ensure that the device is visible first
or until the preset 15m timeout. The previous retry loop is
also removed now that the cause of the behavior is clear.

Bug: 154613608
Test: updated unit test
      http://sponge/4503f5cc-0fc1-415e-9cb0-06e06317ae53
Change-Id: I2269be1085be23ecf0e97658502d387cbcc0d9f1
2 files changed
tree: aadd7cbecb63d70da18d9e2ef50771487e1a28d4
  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.