blob: 1b466215bbe86710a001584290c49bd62ca2215f [file] [log] [blame]
@echo off
@setlocal enabledelayedexpansion
REM It is to be used with BYOB setup to run tests on cloud VMs.
REM REM It will run ADB tests.
REM It takes 1 command line argument.
REM DIST_DIR => Absolute path for the distribution directory.
REM It will return 0 if it is able to execute tests, otherwise
REM it will return 1.
REM Owner: akagrawal@google.com
set DIST_DIR=%1
echo "Checkout adt-infra repo"
REM $ADT_INFRA has to be set on the build machine. It should have absolute path
REM where adt-infra needs to be checked out.
rmdir /s /q %ADT_INFRA%
git clone https://android.googlesource.com/platform/external/adt-infra -b emu-master-dev %ADT_INFRA%
set BUILD_DIR=C:\buildbot\prebuilt\%BUILD_NUMBER%
setx ANDROID_HOME %SDK_PLAT_TOOLS% /M
setx ANDROID_SDK_ROOT %SDK_PLAT_TOOLS% /M
call refreshenv
echo "Setup new ADB"
rmdir /s /q %ANDROID_SDK_ROOT%\platform-tools
7z x -aoa %BUILD_DIR%\sdk_x86-sdk\sdk-repo* -o%ANDROID_SDK_ROOT%\
echo "Extract tests from general-tests.zip"
7z l %BUILD_DIR%\test_suites_x86_64\general-tests.zip | findstr "adb_integration_test"
if errorlevel 1 goto StartTest
mkdir %DIST_DIR%\general-tests
7z x -aoa %BUILD_DIR%\test_suites_x86_64\general-tests.zip -o%DIST_DIR%\general-tests\ host\testcases\adb_integration_test_*
:StartTest
echo "Run ADB tests from $ADT_INFRA"
set count=0
start %ADT_INFRA%\emu_test\utils\run_test_android_bridge.cmd %DIST_DIR%
:loop
set /a count+=1
sleep 60
tasklist /v | find "run_test_android_bridge"
if errorlevel 1 goto cmdDone
if %count% equ 90 goto cmdKill
goto loop
:cmdKill
echo "ADB test timed out"
taskkill /fi "windowtitle eq run_test_android_bridge*"
:cmdDone
cmd.exe /c %ANDROID_HOME%\platform-tools\adb.exe kill-server
exit 0