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