]> git.proxmox.com Git - mirror_qemu.git/blob - tests/docker/run
hw/hyperv: Include missing headers
[mirror_qemu.git] / tests / docker / run
1 #!/bin/bash
2 #
3 # Docker test runner
4 #
5 # Copyright (c) 2016 Red Hat Inc.
6 #
7 # Authors:
8 # Fam Zheng <famz@redhat.com>
9 #
10 # This work is licensed under the terms of the GNU GPL, version 2
11 # or (at your option) any later version. See the COPYING file in
12 # the top-level directory.
13
14 if test -n "$V"; then
15 set -x
16 fi
17
18 BASE="$(dirname $(realpath $0))"
19
20 # Prepare the environment
21 export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH
22
23 if test -n "$J"; then
24 export MAKEFLAGS="$MAKEFLAGS -j$J"
25 fi
26
27 # We are in the container so the whole file system belong to us
28 export TEST_DIR=/tmp/qemu-test
29 mkdir -p $TEST_DIR/{src,build,install}
30
31 # Extract the source tarballs
32 tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; }
33
34 if test -n "$SHOW_ENV"; then
35 if test -f /packages.txt; then
36 echo "Packages installed:"
37 cat /packages.txt
38 echo
39 fi
40 echo "Environment variables:"
41 env
42 echo
43 fi
44
45 export QEMU_SRC="$TEST_DIR/src"
46 export BUILD_DIR="$TEST_DIR/build"
47 export INSTALL_DIR="$TEST_DIR/install"
48
49 cd "$QEMU_SRC/tests/docker"
50
51 CMD="./$@"
52
53 if test -z "$DEBUG"; then
54 exec $CMD
55 fi
56
57 # DEBUG workflow
58 echo "* Prepared to run command:"
59 echo " $CMD"
60 echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
61 echo
62 env bash --noprofile --norc
63
64 if "$CMD"; then
65 exit 0
66 elif test -n "$DEBUG"; then
67 echo "* Command failed:"
68 echo " $CMD"
69 echo "* Hit Ctrl-D to exit"
70 echo
71 # Force error after shell exits
72 env bash --noprofile --norc && exit 1
73 else
74 exit 1
75 fi