blob: 6b3f0733ee90a099626ab3f4dd8ee54d01b09c0f [file] [log] [blame]
Randall Spanglere061a252013-01-22 15:34:07 -08001#!/bin/bash
2#
3# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6#
7# Script to run a test under qemu
8#
9# Usage:
10# test_using_qemu.sh (command line to run)
11#
12# Required environment variables:
13# BUILD_RUN - path to build directory inside chroot
14# HOME - home directory inside chroot
15# QEMU_RUN - path to QEMU binary inside chroot
16# SYSROOT - path to root for target platform, outside chroot
17
18set -e
19
20# Set up mounts
21sudo mkdir -p "${SYSROOT}/proc" "${SYSROOT}/dev"
22sudo mount --bind /proc "${SYSROOT}/proc"
23sudo mount --bind /dev "${SYSROOT}/dev"
24
25# Don't exit on error, so we can capture the error code
26set +e
27sudo chroot ${SYSROOT} ${QEMU_RUN} -drop-ld-preload \
28 -E LD_LIBRARY_PATH=/lib64:/lib:/usr/lib64:/usr/lib \
29 -E HOME=${HOME} \
30 -E BUILD=${BUILD_RUN} \
31 -- $*
32exit_code=$?
33set -e
34
35# Clean up mounts
36sudo umount -l "${SYSROOT}/proc"
37sudo umount -l "${SYSROOT}/dev"
38
39# Pass through exit code from command
40exit $exit_code