Merge "Revert "Allow proxies to be compared and identified.""
diff --git a/test/AndroidTest.xml b/test/AndroidTest.xml
index 82a5dcf..7c2260b 100644
--- a/test/AndroidTest.xml
+++ b/test/AndroidTest.xml
@@ -17,50 +17,56 @@
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
<option name="push-group" value="HostDrivenTest.push" />
<option name="cleanup" value="true" />
- <option name="remount-system" value="true" />
<option name="push" value="DATA/nativetest/hidl_test_servers/hidl_test_servers->/data/nativetest/hidl_test_servers/hidl_test_servers" />
<option name="push" value="DATA/nativetest64/hidl_test_servers/hidl_test_servers->/data/nativetest64/hidl_test_servers/hidl_test_servers" />
<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/system/lib/libfootest.so->/system/lib/libfootest.so" />
- <option name="push" value="DATA/system/lib64/libfootest.so->/system/lib64/libfootest.so" />
- <option name="push" value="DATA/system/lib/libpointertest.so->/system/lib/libpointertest.so" />
- <option name="push" value="DATA/system/lib64/libpointertest.so->/system/lib64/libpointertest.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.foo@1.0.so->/system/lib/android.hardware.tests.foo@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.foo@1.0.so->/system/lib64/android.hardware.tests.foo@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.bar@1.0.so->/system/lib/android.hardware.tests.bar@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.bar@1.0.so->/system/lib64/android.hardware.tests.bar@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.baz@1.0.so->/system/lib/android.hardware.tests.baz@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.baz@1.0.so->/system/lib64/android.hardware.tests.baz@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.hash@1.0.so->/system/lib/android.hardware.tests.hash@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.hash@1.0.so->/system/lib64/android.hardware.tests.hash@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.inheritance@1.0.so->/system/lib/android.hardware.tests.inheritance@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.inheritance@1.0.so->/system/lib64/android.hardware.tests.inheritance@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.pointer@1.0.so->/system/lib/android.hardware.tests.pointer@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.pointer@1.0.so->/system/lib64/android.hardware.tests.pointer@1.0.so" />
- <option name="push" value="DATA/lib/android.hardware.tests.memory@1.0.so->/system/lib/android.hardware.tests.memory@1.0.so" />
- <option name="push" value="DATA/lib64/android.hardware.tests.memory@1.0.so->/system/lib64/android.hardware.tests.memory@1.0.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.foo@1.0-impl.so->/system/lib/hw/android.hardware.tests.foo@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.foo@1.0-impl.so->/system/lib64/hw/android.hardware.tests.foo@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.bar@1.0-impl.so->/system/lib/hw/android.hardware.tests.bar@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.bar@1.0-impl.so->/system/lib64/hw/android.hardware.tests.bar@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.baz@1.0-impl.so->/system/lib/hw/android.hardware.tests.baz@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.baz@1.0-impl.so->/system/lib64/hw/android.hardware.tests.baz@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.hash@1.0-impl.so->/system/lib/hw/android.hardware.tests.hash@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.hash@1.0-impl.so->/system/lib64/hw/android.hardware.tests.hash@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.inheritance@1.0-impl.so->/system/lib/hw/android.hardware.tests.inheritance@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.inheritance@1.0-impl.so->/system/lib64/hw/android.hardware.tests.inheritance@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.pointer@1.0-impl.so->/system/lib/hw/android.hardware.tests.pointer@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.pointer@1.0-impl.so->/system/lib64/hw/android.hardware.tests.pointer@1.0-impl.so" />
- <option name="push" value="DATA/system/lib/hw/android.hardware.tests.memory@1.0-impl.so->/system/lib/hw/android.hardware.tests.memory@1.0-impl.so" />
- <option name="push" value="DATA/system/lib64/hw/android.hardware.tests.memory@1.0-impl.so->/system/lib64/hw/android.hardware.tests.memory@1.0-impl.so" />
+ <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.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/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" />
</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" />
</test>
</configuration>
diff --git a/test/hidl_test_helper b/test/hidl_test_helper
index 324f755..22c416f 100644
--- a/test/hidl_test_helper
+++ b/test/hidl_test_helper
@@ -2,6 +2,8 @@
echo "runs $TEST_NAME"
echo "\t -h help"
echo "\t -c [CLIENT64_SERVER64 | CLIENT32_SERVER32 | CLIENT64_SERVER32 | CLIENT32_SERVER64] configures whether to run 32-bit or 64-bit versions of the servers and client"
+ echo "\t -x [/ld/library/path32] set the LD_LIBRARY_PATH for servers32 and client32"
+ echo "\t -y [/ld/library/path64] set the LD_LIBRARY_PATH for servers64 and client64"
}
failed_test_cases=()
@@ -9,20 +11,25 @@
function run_test() {
if [ $1 -eq 32 ]; then
CLIENT_PATH=$CLIENT_PATH32
+ LD_LIB_PATH_CLIENT=$LD_LIB_PATH32
else
CLIENT_PATH=$CLIENT_PATH64
+ LD_LIB_PATH_CLIENT=$LD_LIB_PATH64
fi
if [ $2 -eq 32 ]; then
SERVER_PATH=$SERVER_PATH32
+ LD_LIB_PATH_SERVER=$LD_LIB_PATH32
else
SERVER_PATH=$SERVER_PATH64
+ LD_LIB_PATH_SERVER=$LD_LIB_PATH64
fi
echo "Running $1-bit client with $2-bit servers"
- $SERVER_PATH &
+ echo "$LD_LIB_PATH_SERVER=$LD_LIB_PATH_SERVER"
+ LD_LIBRARY_PATH=$LD_LIB_PATH_SERVER:$LD_LIBRARY_PATH $SERVER_PATH &
SERVER_PID=$!
- $CLIENT_PATH
+ LD_LIBRARY_PATH=$LD_LIB_PATH_CLIENT:$LD_LIBRARY_PATH $CLIENT_PATH
if [ $? -ne 0 ]; then
failed_test_cases+=("$1-bit client with $2-bit servers")
fi
@@ -56,7 +63,7 @@
fi
}
-#usage: run_all_tests server_path32 server_path64 client_path32 client_path64 test_name [-h/-c config]
+#usage: run_all_tests server_path32 server_path64 client_path32 client_path64 test_name [-h/-c config/-x lib32/-y ldlib64]
function run_all_tests() {
SERVER_PATH32=$1
SERVER_PATH64=$2
@@ -66,30 +73,7 @@
check_env
shift 5
- if [ $# -eq 0 ]; then
- for i in 32 64
- do
- for j in 32 64
- do
- run_test $i $j
- done
- done
- count_failed_tests=${#failed_test_cases[@]}
- echo "*********************************************************"
- echo " $TEST_NAME Final Summary:\n"
- if [ $count_failed_tests -gt 0 ]; then
- echo " $TEST_NAME failed for the following cases:\n\t"
- for each in "${failed_test_cases[@]}"
- do
- echo "\t$each"
- done
- else
- echo " $TEST_NAME passed for all cases!"
- fi
- echo "*********************************************************"
- fi
-
- while getopts hc: opt;
+ while getopts hc:x:y: opt;
do
case $opt in
h)
@@ -115,6 +99,13 @@
exit 1
;;
esac
+ exit 0
+ ;;
+ x)
+ LD_LIB_PATH32=$OPTARG
+ ;;
+ y)
+ LD_LIB_PATH64=$OPTARG
;;
*)
echo "Error: unknown param \"$opt\""
@@ -123,5 +114,27 @@
;;
esac
done
+
+ for i in 32 64
+ do
+ for j in 32 64
+ do
+ run_test $i $j
+ done
+ done
+ count_failed_tests=${#failed_test_cases[@]}
+ echo "*********************************************************"
+ echo " $TEST_NAME Final Summary:\n"
+ if [ $count_failed_tests -gt 0 ]; then
+ echo " $TEST_NAME failed for the following cases:\n\t"
+ for each in "${failed_test_cases[@]}"
+ do
+ echo "\t$each"
+ done
+ else
+ echo " $TEST_NAME passed for all cases!"
+ fi
+ echo "*********************************************************"
+
exit ${#failed_test_cases[@]}
}