History log of /system/tools/hidl/test/hidl_test_servers.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cb17956411778e98a1d0333d1ee8069bebe89f03 06-Jul-2017 Timur Iskhakov <iskhakovt@google.com> Tests for configureRpcThreadpool

Test: links, compiles
Test: hidl_test

Change-Id: If000c574fa9ba38062cef718af22c9ef9ef22cf4
/system/tools/hidl/test/hidl_test_servers.cpp
f9cf33b5d923dcd979f394a83bdfc59a54eea334 18-May-2017 Steven Moreland <smoreland@google.com> Require manifest specification for HIDL devices.

Changed vintfEmpty -> vintfLegacy which is based on
__ANDROID_TREBLE__.

This change does two things:
- make sure that race conditions between framework startup and
service startup don't occur unless "tryGetService" is explicitly
used. Since this change makes sure hals are actually in the manifest,
getService will always wait when appropriate.
- prevent framework backwards compatibility breaking for certain
development models (described below).

On Treble devices, allow this safety check to be turned off
during tests (like hidl_test) which register and unregister
services dynamically for testing purposes. On legacy/pre-Treble
devices, behavior is unchanged.

This means that you must set TREBLE_TESTING_OVERRIDE when running a test such
as hidl_test. Ideally these binaries set this value themselves. This allows
test modules to dynamically add and unset services even though they are not
declared in the device manifest. This prevents a problem where framework
changes are accidentally made in a way that is not backwards compatible. For
instance, consider the following situation for two devices developed in the
same tree:
A: serves @1.1::IFoo, declares @1.0::IFoo (incorrect)
B: serves @1.0::IFoo, declares @1.0::IFoo (correct configuration)
If development is done on device A, then framework code like: "V1_1::IFoo::
getService()->doV1_0Api()" will work. However, this will unintentionally break
the feature for devices like device B for which "V1_1::IFoo::getService()
will return nullptr. In order to prevent problems like this, we only allow
fetching an interface if it is declared in a VINTF manifest.

Test: multiple internal devices boot/work, lshal
Test: hidl_test, hidl_test_java
Test: added additional logging to hwservicemanager and made sure no
getService requests anywhere in the system were failing from this.
Bug: 38415912
Change-Id: Ib1d4f37c764470a96fbdfbcf991c8ca244746ea0
/system/tools/hidl/test/hidl_test_servers.cpp
7b680ebdc6b150e808dc85ff5fae6344b20a206b 20-Apr-2017 Steven Moreland <smoreland@google.com> hidl_test: 10.986s -> 3.081s

- death listeners take ~30ms. Waiting 100ms now instead of 1s.
- don't always sleep 1s waiting for servers to startup. Just add calls
to wait for them to all startup.

Test: `time hidl_test`
Bugs: me

Change-Id: I6c815344e51b8947fbc8ef4a42361d5f9517c1b5
/system/tools/hidl/test/hidl_test_servers.cpp
30b5d1ffe964d0b82008bfc8f4b8e61ab3bac86f 03-Apr-2017 Yifan Hong <elsk@google.com> Add getHashChain() to IBase.

Each interface has a getHashChain() method that
returns the hash of all .hal files from the rtti
of the interface up to IBase.

Test: hidl_test

Bug: 36602587
Change-Id: I13f2e54bd45593c70064dff05fa934d5cd01996a
/system/tools/hidl/test/hidl_test_servers.cpp
179379a911b386023250998f6d257482febb2d86 10-Feb-2017 Hridya Valsaraju <hridya@google.com> Separate servers and client for hidl_test

Make hidl_test configurable to run with 32/64-bit client
and servers. The default setting runs all four combinations.

Test: make hidl_test, adb root && adb remount && adb sync,
adb shell data/nativetest64/hidl_test

Bug: 34986428
Change-Id: Ie06b1d0f33544927fa53583f6fa0e92ed1ef7451
/system/tools/hidl/test/hidl_test_servers.cpp