#!/bin/bash # # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # # Script to run a test under qemu # # Usage: # test_using_qemu.sh (command line to run) # # Required environment variables: # BUILD_RUN - path to build directory inside chroot # HOME - home directory inside chroot # QEMU_RUN - path to QEMU binary inside chroot # SYSROOT - path to root for target platform, outside chroot set -e # Set up mounts sudo mkdir -p "${SYSROOT}/proc" "${SYSROOT}/dev" sudo mount --bind /proc "${SYSROOT}/proc" sudo mount --bind /dev "${SYSROOT}/dev" # Don't exit on error, so we can capture the error code set +e sudo chroot "${SYSROOT}" "${QEMU_RUN}" \ -E LD_LIBRARY_PATH=/lib64:/lib:/usr/lib64:/usr/lib \ -E HOME="${HOME}" \ -E BUILD="${BUILD_RUN}" \ -- "$@" exit_code=$? set -e # Clean up mounts sudo umount -l "${SYSROOT}/proc" sudo umount -l "${SYSROOT}/dev" # Pass through exit code from command exit $exit_code