diff options
author | 2023-01-19 18:26:43 +0000 | |
---|---|---|
committer | 2023-01-30 10:27:37 +0000 | |
commit | 513801a31b69c4cf9397a85afd570a4c02b1f914 (patch) | |
tree | 8acc80bbfc629f7ef285fbb2a419ff9889814d5a /tools/buildbot-setup-device.sh | |
parent | 3633fe4e7dc8a4acaea0d9911c86683b51c1db2b (diff) |
Add support for running ART tests on a Linux virtual machine.
Test: setup a local VM and run ART tests on it:
lunch aosp_arm64-userdebug
export ART_TEST_SSH_USER=ubuntu
export ART_TEST_SSH_HOST=localhost
export ART_TEST_SSH_PORT=10001
export ART_TEST_ON_VM=true
. art/tools/buildbot-utils.sh
art/tools/buildbot-build.sh --target
# Create, boot and configure the VM.
art/tools/buildbot-vm.sh create
art/tools/buildbot-vm.sh boot
art/tools/buildbot-vm.sh setup-ssh # password: 'ubuntu'
art/tools/buildbot-cleanup-device.sh
art/tools/buildbot-setup-device.sh
art/tools/buildbot-sync.sh
art/test.py --target -r 001-HelloWorld
art/tools/run-gtests.sh
Test: check that non-VM testing still works:
lunch aosp_arm32-userdebug
. art/tools/buildbot-utils.sh
art/tools/buildbot-build.sh --target
export ART_TEST_CHROOT=/data/local/art-test-chroot
art/tools/buildbot-cleanup-device.sh
art/tools/buildbot-setup-device.sh
art/tools/buildbot-sync.sh
art/test.py --target -r --32 001-HelloWorld
Change-Id: I1393f8132b0b5d6ad10e291504550a5e7751f8e2
Diffstat (limited to 'tools/buildbot-setup-device.sh')
-rwxr-xr-x | tools/buildbot-setup-device.sh | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/tools/buildbot-setup-device.sh b/tools/buildbot-setup-device.sh index 811ba8005f..90d680b7d2 100755 --- a/tools/buildbot-setup-device.sh +++ b/tools/buildbot-setup-device.sh @@ -25,7 +25,38 @@ else verbose=false fi -# Setup as root, as some actions performed here require it. +# Testing on a Linux VM requires special setup. +if [[ -n "$ART_TEST_ON_VM" ]]; then + [[ -d "$ART_TEST_VM_DIR" ]] || { msgfatal "no VM found in $ART_TEST_VM_DIR"; } + $ART_SSH_CMD "true" || { msgerror "no VM (tried \"$ART_SSH_CMD true\""; } + $ART_SSH_CMD " + mkdir $ART_TEST_CHROOT + + mkdir $ART_TEST_CHROOT/apex + mkdir $ART_TEST_CHROOT/bin + mkdir $ART_TEST_CHROOT/data + mkdir $ART_TEST_CHROOT/data/local + mkdir $ART_TEST_CHROOT/data/local/tmp + mkdir $ART_TEST_CHROOT/dev + mkdir $ART_TEST_CHROOT/etc + mkdir $ART_TEST_CHROOT/lib + mkdir $ART_TEST_CHROOT/linkerconfig + mkdir $ART_TEST_CHROOT/proc + mkdir $ART_TEST_CHROOT/sys + mkdir $ART_TEST_CHROOT/system + mkdir $ART_TEST_CHROOT/tmp + + sudo mount -t proc /proc art-test-chroot/proc + sudo mount -t sysfs /sys art-test-chroot/sys + sudo mount --bind /dev art-test-chroot/dev + sudo mount --bind /bin art-test-chroot/bin + sudo mount --bind /lib art-test-chroot/lib + $ART_CHROOT_CMD echo \"Hello from chroot! I am \$(uname -a).\" + " + exit 0 +fi + +# Regular Android device. Setup as root, as some actions performed here require it. adb version adb root adb wait-for-device |