forked from mirror/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.5 KiB
Bash
76 lines
1.5 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Docker test runner
|
|
#
|
|
# Copyright (c) 2016 Red Hat Inc.
|
|
#
|
|
# Authors:
|
|
# Fam Zheng <famz@redhat.com>
|
|
#
|
|
# 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 $(realpath $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 -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
|
|
env bash --noprofile --norc
|
|
|
|
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
|
|
env bash --noprofile --norc && exit 1
|
|
else
|
|
exit 1
|
|
fi
|