Handle large protobuf transfer with vts shell driver

* Before this chagne, the vts shell driver run the given command and
  send back the stdout and stderr in protobuf, this cause problems
  for large stdout or stderr content.
* Now, depends on the size of stdout and stderr, if size <= 1MB, send
  back the out back directly same as before, if size > 1Mb, stores
  the output in files and vts host side shell mirror pull the file to
  host and read the content as the command results.

Bug:68678681

Test: make vts.
      vts-tradefed run vts -m VtsHalKeymasterV3_0TargetReplay
      vts-tradefed run vts -m VtsKernelLtpTest
      vts-tradefed run vts -m VtsHalVibratorV1_0Target
      vts-tradefed run vts -m ShellBinaryCrashTest

Change-Id: I3e99c405de5ad4e47614dcc0f11f2fe512a63f74
7 files changed
tree: 28d1b377360a08e0fb4d7f3355e232f8c55681be
  1. agents/
  2. compilation_tools/
  3. doc/
  4. drivers/
  5. hals/
  6. harnesses/
  7. proto/
  8. runners/
  9. script/
  10. specification/
  11. testcases/
  12. tools/
  13. utils/
  14. .clang-format
  15. .gitignore
  16. __init__.py
  17. Android.bp
  18. OWNERS
  19. PREUPLOAD.cfg
  20. README.md
  21. setup.py
README.md

Android Vendor Test Suite (VTS)

VTS consists of a set of testing frameworks and test cases, designed to help enhance the robustness, reliability, and compliance of:

  • the Android system (e.g., Core HALs and libraries) and
  • low-level system software (e.g., kernel, module, and firmware).

VTS has mainly two types of test suites:

  • automated (e.g., record-and-replay and fuzzing) and
  • structural (e.g., gTest and host-driven python) testing.

While the VTS framework and test cases are designed for userdebug or eng build devices, some test cases can be run on user build devices using its app namely, VTS Agent App.

Table of Contents

  1. VTS User Manual
  2. Where to find VTS test cases
  3. VTS Test Developer Manual (Codelab)