@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