]> git.proxmox.com Git - mirror_qemu.git/blob - tests/docker/common.rc
minikconf: do not include variables from MINIKCONF_ARGS in config-all-devices.mak
[mirror_qemu.git] / tests / docker / common.rc
1 #!/bin/sh
2 #
3 # Common routines for docker test scripts.
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 requires()
15 {
16 for c in $@; do
17 if ! echo "$FEATURES" | grep -wq -e "$c"; then
18 echo "Prerequisite '$c' not present, skip"
19 exit 0
20 fi
21 done
22 }
23
24 configure_qemu()
25 {
26 config_opts="--enable-werror \
27 ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
28 --prefix=$INSTALL_DIR \
29 $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
30 $@"
31 echo "Configure options:"
32 echo $config_opts
33 $QEMU_SRC/configure $config_opts || \
34 { cat config.log && test_fail "Failed to run 'configure'"; }
35 }
36
37 build_qemu()
38 {
39 configure_qemu $@
40 make $MAKEFLAGS
41 }
42
43 check_qemu()
44 {
45 # default to make check unless the caller specifies
46 if test -z "$@"; then
47 INVOCATION="check"
48 else
49 INVOCATION="$@"
50 fi
51
52 if command -v gtester > /dev/null 2>&1 && \
53 gtester --version > /dev/null 2>&1; then
54 make $MAKEFLAGS $INVOCATION
55 else
56 echo "No working gtester, skipping make $INVOCATION"
57 fi
58 }
59
60 test_fail()
61 {
62 echo "$@"
63 exit 1
64 }
65
66 prep_fail()
67 {
68 echo "$@"
69 exit 2
70 }
71
72 install_qemu()
73 {
74 make install $MAKEFLAGS DESTDIR=$PWD/=destdir
75 ret=$?
76 rm -rf $PWD/=destdir
77 return $ret
78 }