62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# It is to be used with BYOB setup to run tests on cloud VMs.
|
|
# It will run UI and boot tests on them.
|
|
#
|
|
# It takes 3 command line arguments.
|
|
# DIST_DIR => Absolute path for the distribution directory.
|
|
# API => API number for the system image
|
|
# ORI => branch code for the system image
|
|
#
|
|
# It will return 0 if it is able to execute tests, otherwise
|
|
# it will return 1.
|
|
#
|
|
# For the test results please refer to go/dashboard-adt
|
|
#
|
|
# Owner: akagrawal@google.com
|
|
|
|
DIST_DIR=$1
|
|
API=$2
|
|
ORI=$3
|
|
|
|
function run_with_timeout () {
|
|
( $1 $2 $3 $4 ) & pid=$!
|
|
( sleep $5 && kill -HUP $pid ) 2>/dev/null & watcher=$!
|
|
if wait $pid 2>/dev/null; then
|
|
pkill -HUP -P $watcher
|
|
wait $watcher
|
|
else
|
|
echo "Test time out."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
echo "Checkout adt-infra repo"
|
|
# $ADT_INFRA has to be set on the build machine. It should have absolute path
|
|
# where adt-infra needs to be checked out.
|
|
rm -rf $ADT_INFRA
|
|
git clone https://android.googlesource.com/platform/external/adt-infra -b emu-master-dev $ADT_INFRA
|
|
|
|
BUILD_DIR="out/prebuilt_cached/builds"
|
|
|
|
export ANDROID_HOME=$SDK_SYS_IMAGE
|
|
export ANDROID_SDK_ROOT=$SDK_SYS_IMAGE
|
|
|
|
echo "Setup builds"
|
|
$ADT_INFRA/emu_test/utils/setup_builds.sh $BUILD_DIR $API
|
|
|
|
echo "Run Boot tests from $ADT_INFRA"
|
|
cmd="$ADT_INFRA/emu_test/utils/run_boot_test.sh"
|
|
run_with_timeout $cmd $DIST_DIR $ORI $API 5400
|
|
|
|
# Skip UI tests for presubmit build which has a build number starts with P.
|
|
if [[ $BUILD_NUMBER != P* ]]; then
|
|
echo "Run UI tests from $ADT_INFRA"
|
|
cmd="$ADT_INFRA/emu_test/utils/run_ui_test.sh"
|
|
run_with_timeout $cmd $DIST_DIR $ORI $API 10800
|
|
fi
|
|
|
|
echo "Cleanup prebuilts"
|
|
rm -rf /buildbot/prebuilt/*
|
|
|
|
exit 0
|