Fix running the tests on the host again.
Bug: N/A
Test: ran the tests on the host under glibc
Change-Id: Id05a896bdd11b231304ed1a08ef24e1a661ee20d
diff --git a/build/run-on-host.sh b/build/run-on-host.sh
new file mode 100644
index 0000000..c3a2751
--- /dev/null
+++ b/build/run-on-host.sh
@@ -0,0 +1,47 @@
+#!/bin/bash -e
+
+source ${ANDROID_BUILD_TOP}/build/envsetup.sh
+
+TARGET_ARCH=$(get_build_var TARGET_ARCH)
+TARGET_OUT=$(get_build_var TARGET_OUT)
+TARGET_OUT_EXECUTABLES=$(get_build_var TARGET_OUT_EXECUTABLES)
+TARGET_OUT_DATA=$(get_build_var TARGET_OUT_DATA)
+HOST_OS=$(get_build_var HOST_OS)
+HOST_ARCH=$(get_build_var HOST_ARCH)
+HOST_OUT=$(get_build_var HOST_OUT)
+
+function prepare()
+{
+ BITS=$1
+ shift
+
+ NATIVETEST=${TARGET_OUT_DATA}/nativetest
+ if [ "${BITS}" = 64 ]; then
+ NATIVETEST=${NATIVETEST}64
+ fi
+
+ if [ ${TARGET_ARCH} = arm -o ${TARGET_ARCH} = mips -o ${TARGET_ARCH} = x86 ]; then
+ LINKER=${TARGET_OUT_EXECUTABLES}/linker
+ else
+ LINKER="${TARGET_OUT_EXECUTABLES}/linker64 ${TARGET_OUT_EXECUTABLES}/linker"
+ fi
+
+ if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then
+ m -j ${LINKER} ${TARGET_OUT}/etc/hosts ${TARGET_OUT_EXECUTABLES}/sh $@
+
+ if [ ! -d /system ]; then
+ echo "Attempting to create /system";
+ sudo mkdir -p -m 0777 /system;
+ fi
+ (
+ cd ${ANDROID_BUILD_TOP}
+ mkdir -p ${TARGET_OUT_DATA}/local/tmp
+ ln -fs `realpath ${TARGET_OUT}/bin` /system/
+ ln -fs `realpath ${TARGET_OUT}/etc` /system/
+ ln -fs `realpath ${TARGET_OUT}/lib` /system/
+ if [ -d "${TARGET_OUT}/lib64" ]; then
+ ln -fs `realpath ${TARGET_OUT}/lib64` /system/;
+ fi
+ )
+ fi
+}
diff --git a/tests/run-on-host.sh b/tests/run-on-host.sh
index c47bc4f..c8a30f5 100755
--- a/tests/run-on-host.sh
+++ b/tests/run-on-host.sh
@@ -3,32 +3,33 @@
. $(dirname $0)/../build/run-on-host.sh
if [ "$1" = glibc ]; then
- m -j bionic-unit-tests-glibc
- (
- cd ${ANDROID_BUILD_TOP}
- export ANDROID_DATA=${TARGET_OUT_DATA}
- export ANDROID_ROOT=${TARGET_OUT}
- ${HOST_OUT}/nativetest64/bionic-unit-tests-glibc/bionic-unit-tests-glibc $@
- )
- exit 0
+ shift
+ m -j bionic-unit-tests-glibc
+ (
+ cd ${ANDROID_BUILD_TOP}
+ export ANDROID_DATA=${TARGET_OUT_DATA}
+ export ANDROID_ROOT=${TARGET_OUT}
+ ${HOST_OUT}/nativetest64/bionic-unit-tests-glibc/bionic-unit-tests-glibc $@
+ )
+ exit 0
elif [ "$1" != 32 -a "$1" != 64 ]; then
- echo "Usage: $0 [ 32 | 64 | glibc ] [gtest flags]"
- exit 1
+ echo "Usage: $0 [ 32 | 64 | glibc ] [gtest flags]"
+ exit 1
fi
if [ ${HOST_OS}-${HOST_ARCH} = linux-x86 -o ${HOST_OS}-${HOST_ARCH} = linux-x86_64 ]; then
- prepare $1 bionic-unit-tests
+ prepare $1 bionic-unit-tests
- if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then
- (
- cd ${ANDROID_BUILD_TOP}
- export ANDROID_DATA=${TARGET_OUT_DATA}
- export ANDROID_DNS_MODE=local
- export ANDROID_ROOT=${TARGET_OUT}
- ${NATIVETEST}/bionic-unit-tests/bionic-unit-tests $@
- )
- else
- echo "$0 not supported on TARGET_ARCH=$TARGET_ARCH"
- fi
+ if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then
+ (
+ cd ${ANDROID_BUILD_TOP}
+ export ANDROID_DATA=${TARGET_OUT_DATA}
+ export ANDROID_DNS_MODE=local
+ export ANDROID_ROOT=${TARGET_OUT}
+ ${NATIVETEST}/bionic-unit-tests/bionic-unit-tests $@
+ )
+ else
+ echo "$0 not supported on TARGET_ARCH=$TARGET_ARCH"
+ fi
fi