hidl_test using static passthrough libs
Using static passthrough libs for portability
of the test.
Disabled a test for preloadPassthroughLibrary because
that requires shared libraries.
Bug: 67500459
Test: hidl_test
Change-Id: I29b2d505d557e63b228200db7d049efce03cc1ad
diff --git a/test/hidl_test/Android.bp b/test/hidl_test/Android.bp
index 2c0ab0a..b48c4bc 100644
--- a/test/hidl_test/Android.bp
+++ b/test/hidl_test/Android.bp
@@ -1,19 +1,28 @@
-cc_test {
- name: "hidl_test_client",
+cc_defaults {
+ name: "hidl_test_client-defaults",
defaults: ["hidl-gen-defaults"],
- srcs: ["hidl_test_client.cpp", "FooCallback.cpp", "static_test.cpp"],
shared_libs: [
+ "android.hidl.memory@1.0",
+ "android.hidl.token@1.0",
"libbase",
- "liblog",
"libcutils",
"libhidlbase",
- "libhidltransport",
"libhidlmemory",
- "libfootest",
+ "libhidltransport",
"libhwbinder",
- "libpointertest",
+ "liblog",
"libutils",
+ ],
+
+ // Allow dlsym'ing self for statically linked passthrough implementations
+ ldflags: ["-rdynamic"],
+
+ // These are static libs only for testing purposes and portability. Shared
+ // libs should be used on device.
+ static_libs: [
+ "libfootest",
+ "libpointertest",
"android.hardware.tests.expression@1.0",
"android.hardware.tests.foo@1.0",
"android.hardware.tests.bar@1.0",
@@ -24,17 +33,12 @@
"android.hardware.tests.memory@1.0",
"android.hardware.tests.multithread@1.0",
"android.hardware.tests.trie@1.0",
- "android.hidl.allocator@1.0",
- "android.hidl.memory@1.0",
- "android.hidl.token@1.0",
],
- required: [
- // Warning, these should never be specified explicitly for anything else
- // as for a given device, what hal implementation is used is determined
- // by what is specified/available in a device.mk. However, this test
- // actually depends on these test implementations (which should never be
- // included on a device.mk).
+ // impls should never be static, these are used only for testing purposes
+ // and test portability since this test pairs with specific hal
+ // implementations
+ whole_static_libs: [
"android.hardware.tests.foo@1.0-impl",
"android.hardware.tests.bar@1.0-impl",
"android.hardware.tests.baz@1.0-impl",
@@ -45,32 +49,28 @@
"android.hardware.tests.multithread@1.0-impl",
"android.hardware.tests.trie@1.0-impl",
],
+
+ group_static_libs: true,
+}
+
+cc_test {
+ name: "hidl_test_client",
+ defaults: ["hidl_test_client-defaults"],
+
+ srcs: [
+ "hidl_test_client.cpp",
+ "FooCallback.cpp",
+ "static_test.cpp"
+ ],
+
+ shared_libs: [
+ "android.hidl.allocator@1.0",
+ ],
}
cc_test {
name: "hidl_test_servers",
+ defaults: ["hidl_test_client-defaults"],
srcs: ["hidl_test_servers.cpp"],
gtest: false,
-
- cflags: ["-Wall", "-Werror"],
-
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "android.hardware.tests.foo@1.0",
- "android.hardware.tests.bar@1.0",
- "android.hardware.tests.baz@1.0",
- "android.hardware.tests.hash@1.0",
- "android.hardware.tests.inheritance@1.0",
- "android.hardware.tests.pointer@1.0",
- "android.hardware.tests.memory@1.0",
- "android.hardware.tests.multithread@1.0",
- "android.hardware.tests.trie@1.0",
- "android.hidl.memory@1.0",
- "android.hidl.token@1.0",
- ],
-}
+}
\ No newline at end of file
diff --git a/test/hidl_test/AndroidTest.xml b/test/hidl_test/AndroidTest.xml
index 06db2e1..f6a871d 100644
--- a/test/hidl_test/AndroidTest.xml
+++ b/test/hidl_test/AndroidTest.xml
@@ -22,58 +22,12 @@
<option name="push" value="DATA/nativetest/hidl_test_client/hidl_test_client->/data/nativetest/hidl_test_client/hidl_test_client" />
<option name="push" value="DATA/nativetest64/hidl_test_client/hidl_test_client->/data/nativetest64/hidl_test_client/hidl_test_client" />
<option name="push" value="DATA/nativetest64/hidl_test_helper->/data/nativetest64/hidl_test_helper" />
- <option name="push" value="DATA/nativetest64/hidl_test->/data/nativetest64/hidl_test" />
- <option name="push" value="DATA/lib/libfootest.so->/data/local/tmp/system/lib/libfootest.so" />
- <option name="push" value="DATA/lib64/libfootest.so->/data/local/tmp/system/lib64/libfootest.so" />
- <option name="push" value="DATA/lib/libpointertest.so->/data/local/tmp/system/lib/libpointertest.so" />
- <option name="push" value="DATA/lib64/libpointertest.so->/data/local/tmp/system/lib64/libpointertest.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.foo@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.foo@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.foo@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.foo@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.bar@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.bar@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.bar@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.bar@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.baz@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.baz@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.baz@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.baz@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.expression@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.expression@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.expression@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.expression@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.hash@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.hash@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.hash@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.hash@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.inheritance@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.inheritance@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.inheritance@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.inheritance@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.pointer@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.pointer@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.pointer@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.pointer@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.memory@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.memory@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.memory@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.memory@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.multithread@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.multithread@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.multithread@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.multithread@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.trie@1.0.so->/data/local/tmp/system/lib/android.hardware.tests.trie@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.trie@1.0.so->/data/local/tmp/system/lib64/android.hardware.tests.trie@1.0.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.foo@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.foo@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.foo@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.foo@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.bar@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.bar@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.bar@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.bar@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.baz@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.baz@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.baz@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.baz@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.hash@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.hash@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.hash@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.hash@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.inheritance@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.inheritance@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.inheritance@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.inheritance@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.pointer@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.pointer@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.pointer@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.pointer@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.memory@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.memory@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.memory@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.memory@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.multithread@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.multithread@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.multithread@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.multithread@1.0-impl.so" />
- <option name="push" value="DATA/lib/hw/android.hardware.tests.trie@1.0-impl.so->/data/local/tmp/system/lib/hw/android.hardware.tests.trie@1.0-impl.so" />
- <option name="push" value="DATA/lib64/hw/android.hardware.tests.trie@1.0-impl.so->/data/local/tmp/system/lib64/hw/android.hardware.tests.trie@1.0-impl.so" />
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
<option name="test-module-name" value="VtsHidlUnitTests" />
<option name="binary-test-type" value="binary_test" />
<option name="binary-test-source" value="DATA/nativetest64/hidl_test->/data/nativetest64/hidl_test" />
- <option name="binary-test-envp" value="VTS_ROOT_PATH=/data/local/tmp" />
- <option name="binary-test-args" value="-x /data/local/tmp/system/lib" />
- <option name="binary-test-args" value="-y /data/local/tmp/system/lib64" />
<option name="test-timeout" value="1m" />
</test>
</configuration>
diff --git a/test/hidl_test/hidl_test_client.cpp b/test/hidl_test/hidl_test_client.cpp
index 839d305..9c809c1 100644
--- a/test/hidl_test/hidl_test_client.cpp
+++ b/test/hidl_test/hidl_test_client.cpp
@@ -428,7 +428,8 @@
}
};
-TEST_F(HidlTest, PreloadTest) {
+// does not work with linker configurations since libs are statically included
+TEST_F(HidlTest, DISABLED_PreloadTest) {
// in passthrough mode, this will already be opened
if (mode == BINDERIZED) {
using android::hardware::preloadPassthroughService;