#!/bin/bash # # Docker test runner # # Copyright (c) 2016 Red Hat Inc. # # Authors: # Fam Zheng # # This work is licensed under the terms of the GNU GPL, version 2 # or (at your option) any later version. See the COPYING file in # the top-level directory. if test -n "$V"; then set -x fi BASE="$(dirname $(readlink -e $0))" # Prepare the environment export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH if test -n "$J"; then export MAKEFLAGS="$MAKEFLAGS -j$J" fi # We are in the container so the whole file system belong to us export TEST_DIR=/tmp/qemu-test mkdir -p $TEST_DIR/{src,build,install} # Extract the source tarballs tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; } if test -f $TEST_DIR/src/Makefile; then export FEATURES="$FEATURES dtc" fi if test -n "$SHOW_ENV"; then if test -f /packages.txt; then echo "Packages installed:" cat /packages.txt echo fi echo "Environment variables:" env echo fi export QEMU_SRC="$TEST_DIR/src" export BUILD_DIR="$TEST_DIR/build" export INSTALL_DIR="$TEST_DIR/install" cd "$QEMU_SRC/tests/docker" CMD="./$@" if test -z "$DEBUG"; then exec $CMD fi # DEBUG workflow echo "* Prepared to run command:" echo " $CMD" echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort" echo $SHELL if "$CMD"; then exit 0 elif test -n "$DEBUG"; then echo "* Command failed:" echo " $CMD" echo "* Hit Ctrl-D to exit" echo # Force error after shell exits $SHELL && exit 1 else exit 1 fi