From 25ece4ae4477ca03e2cdcb3c924cfd4fd7d7092b Mon Sep 17 00:00:00 2001 From: Hyang-Ah Hana Kim Date: Wed, 14 Jan 2015 12:13:17 -0500 Subject: [PATCH] build: androidtest.bash has to use copy for files to adb-sync. androidtest.bash copies some go source to the android device where the tests are going to run. It's necessary because some tests require files and resources to be present. The copy is done through adb sync. The script hoped faking the directory using symlinks to work, but it doesn't. (adb sync doesn't follow the symlinks) We need proper copy. Change-Id: If55abca4958f159859e58512b0045f23654167e3 Reviewed-on: https://go-review.googlesource.com/2827 Reviewed-by: David Crawshaw --- src/androidtest.bash | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/androidtest.bash b/src/androidtest.bash index b250cf4a78..4968a00f6e 100755 --- a/src/androidtest.bash +++ b/src/androidtest.bash @@ -38,14 +38,15 @@ GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH go build \ # # The adb sync command will sync either the /system or /data # directories of an android device from a similar directory -# on the host. So we fake one with symlinks to push the GOROOT -# into a subdirectory of /data. +# on the host. We copy the files required for running tests under +# /data/local/tmp/goroot. The adb sync command does not follow +# symlinks so we have to copy. export ANDROID_PRODUCT_OUT=/tmp/androidtest-$$ FAKE_GOROOT=$ANDROID_PRODUCT_OUT/data/local/tmp/goroot mkdir -p $FAKE_GOROOT -ln -s $GOROOT/src $FAKE_GOROOT/src -ln -s $GOROOT/test $FAKE_GOROOT/test -ln -s $GOROOT/lib $FAKE_GOROOT/lib +cp -R --preserve=all "${GOROOT}/src" "${FAKE_GOROOT}/" +cp -R --preserve=all "${GOROOT}/test" "${FAKE_GOROOT}/" +cp -R --preserve=all "${GOROOT}/lib" "${FAKE_GOROOT}/" echo '# Syncing test files to android device' time adb sync data &> /dev/null echo '' -- 2.50.0