299d296ea9
Feature "dtc" is explicitly required by test-mingw, but is not detected
by the run script since we switched to archive-source.sh in b7f404201e
.
Since it isn't available in the Fedora image which runs this test on
patchew, the way we get dtc is still from submodule.
archive-source.sh takes care of bundling the submodule files already, so
what we need to do is just checking if files are there. Makefile is
chosen because it is one that is unlikely to get renamed in the future.
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <20170925082913.22089-1-famz@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
80 lines
1.5 KiB
Bash
Executable File
80 lines
1.5 KiB
Bash
Executable File
#!/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 $(readlink -e $0))"
|
|
|
|
# Prepare the environment
|
|
. /etc/profile
|
|
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 -xf $BASE/qemu.tar || prep_fail "Failed to untar source"
|
|
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
|