hidl_test: add server-timing tests

Test the following:

-- callMe() is a oneway call, so it should return to the
   caller immediately;
-- callMe() passes an IFooCallback to Bar, and Bar invokes
   three methods on that callback.  Of these three methods,
   the first one is blocking but with an empty body; the second one is
   blocking and the body takes several seconds to execute; the third one
   is oneway, but its body takes several seconds to execute
-- hidl_test uses two instrumentation methods on IFooCallback,
   reportResults() and youBlockedMeFor(), to collect timing information
   on the three methods above.  This information is used in a test that
   verifies that the timings are as expected, within some predefined
   tolerance.

b/30855757 Convert hidl test to gTest

Change-Id: Ie1d8e16ac72a647579b460cbcf3cee8296a9f7c3
Signed-off-by: Iliyan Malchev <malchev@google.com>
1 file changed
tree: dcf708804b39cb478dfeebb036ab18313df9923b
  1. test/
  2. Android.mk
  3. Annotation.cpp
  4. Annotation.h
  5. ArrayType.cpp
  6. ArrayType.h
  7. AST.cpp
  8. AST.h
  9. CompoundType.cpp
  10. CompoundType.h
  11. ConstantExpression.cpp
  12. ConstantExpression.h
  13. Coordinator.cpp
  14. Coordinator.h
  15. EnumType.cpp
  16. EnumType.h
  17. Formatter.cpp
  18. Formatter.h
  19. FQName.cpp
  20. FQName.h
  21. generateCpp.cpp
  22. generateJava.cpp
  23. generateVts.cpp
  24. GenericBinder.cpp
  25. GenericBinder.h
  26. HandleType.cpp
  27. HandleType.h
  28. hidl-gen_l.ll
  29. hidl-gen_y.yy
  30. Interface.cpp
  31. Interface.h
  32. main.cpp
  33. Method.cpp
  34. Method.h
  35. NamedType.cpp
  36. NamedType.h
  37. README.md
  38. ScalarType.cpp
  39. ScalarType.h
  40. Scope.cpp
  41. Scope.h
  42. StringType.cpp
  43. StringType.h
  44. Type.cpp
  45. Type.h
  46. TypeDef.cpp
  47. TypeDef.h
  48. VectorType.cpp
  49. VectorType.h
README.md

hidl-gen user guide

1. Build

croot
make hidl-gen

2. Run

hidl-gen -o output-path -L language (-r interface-root) fqname

output-path: directory to store the output files.
language: output file for given language. e.g.c++, vts..

fqname: fully qualified name of the input files.
For singe file input, follow the format: package@version::fileName
For directory input, follow the format: package@version

interface-root(optional): prefix and root path for fqname.
If not set, use the default prefix: android.hardware and default root path
defined in $TOP.

examples:

hidl-gen -o output -L c++ android.hardware.nfc@1.0::INfc.hal
hidl-gen -o output -L vts android.hardware.nfc@1.0
hild-gen -o test -L c++ -r android.hardware:/home/android/master/hardware/interfaces android.hardware.nfc@1.0