c81585130e
It is very easy to figure out current directory and bash option from the execution, so do less in the Makefile invocation command line, and figure both options in the script. This makes the next patch easier. Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1468934445-32183-7-git-send-email-famz@redhat.com
65 lines
1.3 KiB
Bash
Executable File
65 lines
1.3 KiB
Bash
Executable File
#!/bin/bash -e
|
|
#
|
|
# 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 $(readlink -e $0))"
|
|
|
|
# Prepare the environment
|
|
. /etc/profile || true
|
|
export PATH=/usr/lib/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 -xzf $BASE/qemu.tgz
|
|
for p in dtc pixman; do
|
|
if test -f $BASE/$p.tgz; then
|
|
tar -C $TEST_DIR/src/$p -xzf $BASE/$p.tgz
|
|
export FEATURES="$FEATURES $p"
|
|
fi
|
|
done
|
|
|
|
export QEMU_SRC="$TEST_DIR/src"
|
|
|
|
cd "$QEMU_SRC/tests/docker"
|
|
|
|
CMD="$QEMU_SRC/tests/docker/$@"
|
|
|
|
if test -n "$DEBUG"; then
|
|
echo "* Prepared to run command:"
|
|
echo " $CMD"
|
|
echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
|
|
echo
|
|
$SHELL
|
|
fi
|
|
|
|
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
|
|
fi
|