1b344aa91SFam Zheng#!/bin/bash -e 2b344aa91SFam Zheng# 3b344aa91SFam Zheng# Docker test runner 4b344aa91SFam Zheng# 5b344aa91SFam Zheng# Copyright (c) 2016 Red Hat Inc. 6b344aa91SFam Zheng# 7b344aa91SFam Zheng# Authors: 8b344aa91SFam Zheng# Fam Zheng <famz@redhat.com> 9b344aa91SFam Zheng# 10b344aa91SFam Zheng# This work is licensed under the terms of the GNU GPL, version 2 11b344aa91SFam Zheng# or (at your option) any later version. See the COPYING file in 12b344aa91SFam Zheng# the top-level directory. 13b344aa91SFam Zheng 14*1ad76b8aSFam Zhengset -e 15*1ad76b8aSFam Zheng 16c8158513SFam Zhengif test -n "$V"; then 17c8158513SFam Zheng set -x 18c8158513SFam Zhengfi 19c8158513SFam Zheng 20c8158513SFam ZhengBASE="$(dirname $(readlink -e $0))" 21c8158513SFam Zheng 22b344aa91SFam Zheng# Prepare the environment 23b344aa91SFam Zheng. /etc/profile || true 24b344aa91SFam Zhengexport PATH=/usr/lib/ccache:$PATH 25b344aa91SFam Zheng 26b344aa91SFam Zhengif test -n "$J"; then 27b344aa91SFam Zheng export MAKEFLAGS="$MAKEFLAGS -j$J" 28b344aa91SFam Zhengfi 29b344aa91SFam Zheng 30b344aa91SFam Zheng# We are in the container so the whole file system belong to us 31b344aa91SFam Zhengexport TEST_DIR=/tmp/qemu-test 32b344aa91SFam Zhengmkdir -p $TEST_DIR/{src,build,install} 33b344aa91SFam Zheng 34b344aa91SFam Zheng# Extract the source tarballs 35c8158513SFam Zhengtar -C $TEST_DIR/src -xzf $BASE/qemu.tgz 36b344aa91SFam Zhengfor p in dtc pixman; do 37c8158513SFam Zheng if test -f $BASE/$p.tgz; then 38c8158513SFam Zheng tar -C $TEST_DIR/src/$p -xzf $BASE/$p.tgz 39b344aa91SFam Zheng export FEATURES="$FEATURES $p" 40b344aa91SFam Zheng fi 41b344aa91SFam Zhengdone 42b344aa91SFam Zheng 43b344aa91SFam Zhengexport QEMU_SRC="$TEST_DIR/src" 44b344aa91SFam Zheng 45b344aa91SFam Zhengcd "$QEMU_SRC/tests/docker" 46b344aa91SFam Zheng 47b344aa91SFam ZhengCMD="$QEMU_SRC/tests/docker/$@" 48b344aa91SFam Zheng 49b344aa91SFam Zhengif test -n "$DEBUG"; then 50b344aa91SFam Zheng echo "* Prepared to run command:" 51b344aa91SFam Zheng echo " $CMD" 52b344aa91SFam Zheng echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort" 53b344aa91SFam Zheng echo 54b344aa91SFam Zheng $SHELL 55b344aa91SFam Zhengfi 56b344aa91SFam Zheng 57b344aa91SFam Zhengif "$CMD"; then 58b344aa91SFam Zheng exit 0 59b344aa91SFam Zhengelif test -n "$DEBUG"; then 60b344aa91SFam Zheng echo "* Command failed:" 61b344aa91SFam Zheng echo " $CMD" 62b344aa91SFam Zheng echo "* Hit Ctrl-D to exit" 63b344aa91SFam Zheng echo 64b344aa91SFam Zheng # Force error after shell exits 65b344aa91SFam Zheng $SHELL && exit 1 66*1ad76b8aSFam Zhengelse 67*1ad76b8aSFam Zheng exit 1 68b344aa91SFam Zhengfi 69