From 2231bc4e2f42c34c9290dc39b496c47e75054d6c Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Mon, 23 Jul 2012 16:57:22 +0000 Subject: [PATCH] Android test runner: Make android-sync.sh work on Mac Review URL: https://chromiumcodereview.appspot.com/10806063 Patch from Haitao Feng . git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- tools/android-sync.sh | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/tools/android-sync.sh b/tools/android-sync.sh index 6ee1ed4..5d4ef2e 100755 --- a/tools/android-sync.sh +++ b/tools/android-sync.sh @@ -33,7 +33,7 @@ # The fourth argument is the absolute path to the V8 directory on the device. if [ ${#@} -lt 4 ] ; then - echo "Error: need 4 arguments" + echo "$0: Error: need 4 arguments" exit 1 fi @@ -42,11 +42,34 @@ OUTDIR=$2 HOST_V8=$3 ANDROID_V8=$4 +function LINUX_MD5 { + local HASH=$(md5sum $1) + echo ${HASH%% *} +} + +function DARWIN_MD5 { + local HASH=$(md5 $1) + echo ${HASH} | cut -f2 -d "=" | cut -f2 -d " " +} + +host_os=$(uname -s) +case "${host_os}" in + "Linux") + MD5=LINUX_MD5 + ;; + "Darwin") + MD5=DARWIN_MD5 + ;; + *) + echo "$0: Host platform ${host_os} is not supported" >& 2 + exit 1 +esac + function sync_file { local FILE=$1 local ANDROID_HASH=$(adb shell "md5 \"$ANDROID_V8/$FILE\"") - local HOST_HASH=$(md5sum "$HOST_V8/$FILE") - if [ "${ANDROID_HASH%% *}" != "${HOST_HASH%% *}" ]; then + local HOST_HASH=$($MD5 "$HOST_V8/$FILE") + if [ "${ANDROID_HASH%% *}" != "${HOST_HASH}" ]; then adb push "$HOST_V8/$FILE" "$ANDROID_V8/$FILE" &> /dev/null fi echo -n "." -- 2.7.4