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 18*f0c67a79SLucas Mateus Castro (alqotel)BASE="$(dirname $(realpath $0))" 19c8158513SFam Zheng 20b344aa91SFam Zheng# Prepare the environment 216a2e1197SFam 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 3218580922SFam Zhengtar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; } 33b344aa91SFam Zheng 34ec960b9aSFam Zhengif test -n "$SHOW_ENV"; then 35ec960b9aSFam Zheng if test -f /packages.txt; then 36ec960b9aSFam Zheng echo "Packages installed:" 37ec960b9aSFam Zheng cat /packages.txt 38ec960b9aSFam Zheng echo 39ec960b9aSFam Zheng fi 40ec960b9aSFam Zheng echo "Environment variables:" 41ec960b9aSFam Zheng env 42ec960b9aSFam Zheng echo 43ec960b9aSFam Zhengfi 44ec960b9aSFam Zheng 45b344aa91SFam Zhengexport QEMU_SRC="$TEST_DIR/src" 4605790dafSFam Zhengexport BUILD_DIR="$TEST_DIR/build" 4705790dafSFam Zhengexport INSTALL_DIR="$TEST_DIR/install" 48b344aa91SFam Zheng 49b344aa91SFam Zhengcd "$QEMU_SRC/tests/docker" 50b344aa91SFam Zheng 5105790dafSFam ZhengCMD="./$@" 52b344aa91SFam Zheng 539b77336dSFam Zhengif test -z "$DEBUG"; then 549b77336dSFam Zheng exec $CMD 559b77336dSFam Zhengfi 569b77336dSFam Zheng 579b77336dSFam Zheng# DEBUG workflow 58b344aa91SFam Zhengecho "* Prepared to run command:" 59b344aa91SFam Zhengecho " $CMD" 60b344aa91SFam Zhengecho "* Hit Ctrl-D to continue, or type 'exit 1' to abort" 61b344aa91SFam Zhengecho 62bf5b512cSAlex Bennéeenv bash --noprofile --norc 63b344aa91SFam Zheng 64b344aa91SFam Zhengif "$CMD"; then 65b344aa91SFam Zheng exit 0 66b344aa91SFam Zhengelif test -n "$DEBUG"; then 67b344aa91SFam Zheng echo "* Command failed:" 68b344aa91SFam Zheng echo " $CMD" 69b344aa91SFam Zheng echo "* Hit Ctrl-D to exit" 70b344aa91SFam Zheng echo 71b344aa91SFam Zheng # Force error after shell exits 72bf5b512cSAlex Bennée env bash --noprofile --norc && exit 1 731ad76b8aSFam Zhengelse 741ad76b8aSFam Zheng exit 1 75b344aa91SFam Zhengfi 76