From 0c153b4c6fb4442584a7ed95a9aaced6c08ee07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 15 Mar 2018 15:27:13 +0100 Subject: [PATCH 1/4] docker: dump 'config.log' if ./configure fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suggested-by: Eric Blake Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Daniel P. Berrangé Message-Id: <20180315142713.30960-1-f4bug@amsat.org> Signed-off-by: Fam Zheng --- tests/docker/common.rc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/docker/common.rc b/tests/docker/common.rc index 7951555e3f..046f8a5921 100755 --- a/tests/docker/common.rc +++ b/tests/docker/common.rc @@ -30,7 +30,9 @@ build_qemu() $@" echo "Configure options:" echo $config_opts - $QEMU_SRC/configure $config_opts && make $MAKEFLAGS + $QEMU_SRC/configure $config_opts || \ + { cat config.log && test_fail "Failed to run 'configure'"; } + make $MAKEFLAGS } test_fail() From 726c9a3b8c55d064527c1dff8276f6e44ce76933 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Thu, 22 Mar 2018 11:47:53 +0800 Subject: [PATCH 2/4] tests: Fix ubuntu.i386 image initialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The apt-get commands we run through ssh expect certain features of the tty, and refuses to work if /dev/null is used. It is ugly, but easy to satisfy. Actually, there is no reason to hide the output. It just makes things harder to diagnose. We can always redirect in the Makefile, so don't do it conditionally here. Reported-by: Eric Blake Signed-off-by: Fam Zheng Message-Id: <20180322034753.6301-1-famz@redhat.com> Reviewed-by: Philippe Mathieu-Daudé Tested-by: Eric Blake Signed-off-by: Fam Zheng --- tests/vm/basevm.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 686d88decf..3a2d508c35 100755 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -107,10 +107,7 @@ class BaseVM(object): assert not isinstance(cmd, str) ssh_cmd += ["%s@127.0.0.1" % user] + list(cmd) logging.debug("ssh_cmd: %s", " ".join(ssh_cmd)) - r = subprocess.call(ssh_cmd, - stdin=sys.stdin if interactive else self._devnull, - stdout=sys.stdout if interactive else self._stdout, - stderr=sys.stderr if interactive else self._stderr) + r = subprocess.call(ssh_cmd) if check and r != 0: raise Exception("SSH command failed: %s" % cmd) return r From 185809224a771e0d010046bc77168d4ff5f6096e Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Mon, 26 Mar 2018 17:03:50 +0800 Subject: [PATCH 3/4] docker: Inline "prep_fail" in run script We don't source common.rc where prep_fail is defined, so spell out the commands and do what was intended. Signed-off-by: Fam Zheng Message-Id: <20180326090350.30014-1-famz@redhat.com> Reviewed-by: Thomas Huth Signed-off-by: Fam Zheng --- tests/docker/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/docker/run b/tests/docker/run index 9dd362bb98..7aebf4b569 100755 --- a/tests/docker/run +++ b/tests/docker/run @@ -29,7 +29,7 @@ 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" +tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; } if test -f $TEST_DIR/src/Makefile; then export FEATURES="$FEATURES dtc" fi From 07fed474177a4566052ea81b1563d53a37083e84 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 13 Mar 2018 13:05:52 +0100 Subject: [PATCH 4/4] docker: fedora: test more components Install optional dependencies of QEMU to get better coverage. Signed-off-by: Paolo Bonzini Message-Id: <1520942752-19449-1-git-send-email-pbonzini@redhat.com> Signed-off-by: Fam Zheng --- tests/docker/dockerfiles/fedora.docker | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index a00004319e..b706f42405 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -1,9 +1,16 @@ FROM fedora:27 ENV PACKAGES \ ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \ - glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \ - gcc gcc-c++ llvm clang make perl which bc findutils libaio-devel \ - nettle-devel libasan libubsan \ + gcc gcc-c++ llvm clang make perl which bc findutils glib2-devel \ + libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \ + bluez-libs-devel brlapi-devel bzip2-devel \ + device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \ + gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \ + libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \ + libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \ + numactl-devel SDL2-devel snappy-devel spice-server-devel \ + systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \ + xen-devel \ mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \ mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \ mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \