[go: nahoru, domu]

DeviceSnapshotHandler: always throw exception for error responses

Error repsonses that can be deserialized are probably just string error
messages, so turn them into an exception and throw them. This simplifies
the callers and makes it easier to find the underlying error in test
failures.

The typical failure path was to throw an exception even before, so the
intricate code in callers to throw a new exception in a particular way
seems like a mistake (e.g. not all snapshot failures use
DeviceErrorIdentifier.DEVICE_FAILED_TO_SNAPSHOT). If any of that is
important, we should move it into DeviceSnapshotHandler.

Bug: 341991139
Test: m tradefed tradefed-tests && tools/tradefederation/core/tradefed.sh run singleCommand host --console-result-reporter:suppress-passed-tests --class com.android.tradefed.device.internal.DeviceSnapshotFeatureTest
Change-Id: Ic8b2cc6e126fa3afa1758b185649a7d9942285ee
4 files changed
tree: 693dca732a9a8047a22d7ed61f9efa5f0bf607df
  1. aoa_helper/
  2. atest_proto/
  3. clearcut_client/
  4. common_util/
  5. device_build_interfaces/
  6. external_dependencies/
  7. global_configuration/
  8. invocation_interfaces/
  9. isolation/
  10. javatests/
  11. lite/
  12. proto/
  13. reference_tests/
  14. remote/
  15. res/
  16. src/
  17. test_framework/
  18. test_observatory/
  19. test_result_interfaces/
  20. tools/
  21. util_apps/
  22. .classpath
  23. .gitignore
  24. .project
  25. Android.bp
  26. Android.mk
  27. aosp_sha.sh
  28. atest_tradefed.sh
  29. CleanSpec.mk
  30. error_prone_rules.mk
  31. MANIFEST.mf
  32. MULTIUSER_OWNERS
  33. OWNERS
  34. PREUPLOAD.cfg
  35. pylintrc
  36. README.md
  37. run_tf_cmd.sh
  38. script_help.sh
  39. TEST_MAPPING
  40. tradefed.sh
  41. 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/docs/core/tests/tradefed/

See more details about Tradefed Architecture at: https://source.android.com/docs/core/tests/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.