14f6afe41SFam Zheng#!/bin/bash 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 14c8158513SFam Zhengif test -n "$V"; then 15c8158513SFam Zheng set -x 16c8158513SFam Zhengfi 17c8158513SFam Zheng 18c8158513SFam ZhengBASE="$(dirname $(readlink -e $0))" 19c8158513SFam Zheng 20b344aa91SFam Zheng# Prepare the environment 21*6a2e1197SFam Zhengexport PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH 22b344aa91SFam Zheng 23b344aa91SFam Zhengif test -n "$J"; then 24b344aa91SFam Zheng export MAKEFLAGS="$MAKEFLAGS -j$J" 25b344aa91SFam Zhengfi 26b344aa91SFam Zheng 27b344aa91SFam Zheng# We are in the container so the whole file system belong to us 28b344aa91SFam Zhengexport TEST_DIR=/tmp/qemu-test 29b344aa91SFam Zhengmkdir -p $TEST_DIR/{src,build,install} 30b344aa91SFam Zheng 31b344aa91SFam Zheng# Extract the source tarballs 324f6afe41SFam Zhengtar -C $TEST_DIR/src -xf $BASE/qemu.tar || prep_fail "Failed to untar source" 33299d296eSFam Zhengif test -f $TEST_DIR/src/Makefile; then 34299d296eSFam Zheng export FEATURES="$FEATURES dtc" 35299d296eSFam Zhengfi 36b344aa91SFam Zheng 37ec960b9aSFam Zhengif test -n "$SHOW_ENV"; then 38ec960b9aSFam Zheng if test -f /packages.txt; then 39ec960b9aSFam Zheng echo "Packages installed:" 40ec960b9aSFam Zheng cat /packages.txt 41ec960b9aSFam Zheng echo 42ec960b9aSFam Zheng fi 43ec960b9aSFam Zheng echo "Environment variables:" 44ec960b9aSFam Zheng env 45ec960b9aSFam Zheng echo 46ec960b9aSFam Zhengfi 47ec960b9aSFam Zheng 48b344aa91SFam Zhengexport QEMU_SRC="$TEST_DIR/src" 4905790dafSFam Zhengexport BUILD_DIR="$TEST_DIR/build" 5005790dafSFam Zhengexport INSTALL_DIR="$TEST_DIR/install" 51b344aa91SFam Zheng 52b344aa91SFam Zhengcd "$QEMU_SRC/tests/docker" 53b344aa91SFam Zheng 5405790dafSFam ZhengCMD="./$@" 55b344aa91SFam Zheng 569b77336dSFam Zhengif test -z "$DEBUG"; then 579b77336dSFam Zheng exec $CMD 589b77336dSFam Zhengfi 599b77336dSFam Zheng 609b77336dSFam Zheng# DEBUG workflow 61b344aa91SFam Zhengecho "* Prepared to run command:" 62b344aa91SFam Zhengecho " $CMD" 63b344aa91SFam Zhengecho "* Hit Ctrl-D to continue, or type 'exit 1' to abort" 64b344aa91SFam Zhengecho 65b344aa91SFam Zheng$SHELL 66b344aa91SFam Zheng 67b344aa91SFam Zhengif "$CMD"; then 68b344aa91SFam Zheng exit 0 69b344aa91SFam Zhengelif test -n "$DEBUG"; then 70b344aa91SFam Zheng echo "* Command failed:" 71b344aa91SFam Zheng echo " $CMD" 72b344aa91SFam Zheng echo "* Hit Ctrl-D to exit" 73b344aa91SFam Zheng echo 74b344aa91SFam Zheng # Force error after shell exits 75b344aa91SFam Zheng $SHELL && exit 1 761ad76b8aSFam Zhengelse 771ad76b8aSFam Zheng exit 1 78b344aa91SFam Zhengfi 79