qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/6] docker: Add test-block
@ 2017-09-05  2:56 Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 1/6] docker: Fix return code of build_qemu() Fam Zheng
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

Based-on: 20170905021201.25684-1-famz@redhat.com
([PATCH v6 00/12] tests: Add VM based build tests (for non-x86_64 and/or
non-Linux))

A few tweaks to the docker images and running commands allow us to run
qemu-iotests in the fedora container. This will be added to the patchew test
cases later.

v4: Don't use 'set -e'. [Eric]
    Add Kashyap's rev-by to unchanged patches.

v3: Add nbd, luks and limit to quick group.

v2: Add nettle-devel because a few iotest cases blindly assumes the support is
there.

Fam Zheng (6):
  docker: Fix return code of build_qemu()
  docker: Add test_fail and prep_fail
  docker: Use unconfined security profile
  docker: Add nettle-devel to fedora image
  docker: Add test-block
  docker: Drop 'set -e' from run script

 tests/docker/Makefile.include          |  1 +
 tests/docker/common.rc                 | 15 +++++++++++++--
 tests/docker/dockerfiles/fedora.docker |  1 +
 tests/docker/run                       |  8 +++-----
 tests/docker/test-block                | 22 ++++++++++++++++++++++
 5 files changed, 40 insertions(+), 7 deletions(-)
 create mode 100755 tests/docker/test-block

-- 
2.13.5

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 1/6] docker: Fix return code of build_qemu()
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 2/6] docker: Add test_fail and prep_fail Fam Zheng
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

Without "set -e", the "&&" makes sure that the return code reflects the
result status, and that make only runs if configure succeeds.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/common.rc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 6865689bb5..c22d825b16 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -33,6 +33,5 @@ build_qemu()
                  $@"
     echo "Configure options:"
     echo $config_opts
-    $QEMU_SRC/configure $config_opts
-    make $MAKEFLAGS
+    $QEMU_SRC/configure $config_opts && make $MAKEFLAGS
 }
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 2/6] docker: Add test_fail and prep_fail
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 1/6] docker: Fix return code of build_qemu() Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 3/6] docker: Use unconfined security profile Fam Zheng
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

They both print a message and exit, but with different status code so
distinguish real test errors from env preparation failures.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/common.rc | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index c22d825b16..63ce9a7af5 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -35,3 +35,15 @@ build_qemu()
     echo $config_opts
     $QEMU_SRC/configure $config_opts && make $MAKEFLAGS
 }
+
+test_fail()
+{
+    echo "$@"
+    exit 1
+}
+
+prep_fail()
+{
+    echo "$@"
+    exit 2
+}
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 3/6] docker: Use unconfined security profile
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 1/6] docker: Fix return code of build_qemu() Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 2/6] docker: Add test_fail and prep_fail Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 4/6] docker: Add nettle-devel to fedora image Fam Zheng
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

Some by default blocked syscalls are required to run tests for example
userfaultfd.

Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/Makefile.include | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 7a027d5bd6..168198e026 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -134,6 +134,7 @@ docker-run: docker-qemu-src
 	$(call quiet-command,						\
 		$(SRC_PATH)/tests/docker/docker.py run 			\
 			$(if $(NOUSER),,-u $(shell id -u)) -t 		\
+			--security-opt seccomp=unconfined		\
 			$(if $V,,--rm) 					\
 			$(if $(DEBUG),-i,)				\
 			$(if $(NETWORK),$(if $(subst $(NETWORK),,1),--net=$(NETWORK)),--net=none) \
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 4/6] docker: Add nettle-devel to fedora image
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
                   ` (2 preceding siblings ...)
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 3/6] docker: Use unconfined security profile Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 5/6] docker: Add test-block Fam Zheng
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

The LUKS cases in qemu-iotests requires this.

Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/dockerfiles/fedora.docker | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 4eaa8ed2a5..27e8201c54 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -3,6 +3,7 @@ ENV PACKAGES \
     ccache git tar PyYAML sparse flex bison python2 bzip2 hostname \
     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
     gcc gcc-c++ clang make perl which bc findutils libaio-devel \
+    nettle-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 \
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 5/6] docker: Add test-block
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
                   ` (3 preceding siblings ...)
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 4/6] docker: Add nettle-devel to fedora image Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 6/6] docker: Drop 'set -e' from run script Fam Zheng
  2017-09-05  9:17 ` [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Stefan Hajnoczi
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/test-block | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100755 tests/docker/test-block

diff --git a/tests/docker/test-block b/tests/docker/test-block
new file mode 100755
index 0000000000..64d8bbadf7
--- /dev/null
+++ b/tests/docker/test-block
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Run block test cases
+#
+# Copyright 2017 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.
+
+. ./common.rc
+
+cd "$BUILD_DIR"
+
+build_qemu --target-list=x86_64-softmmu
+cd tests/qemu-iotests
+for t in raw qcow2 nbd luks; do
+    ./check -g quick -$t || test_fail "Test failed: iotests $t"
+done
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v4 6/6] docker: Drop 'set -e' from run script
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
                   ` (4 preceding siblings ...)
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 5/6] docker: Add test-block Fam Zheng
@ 2017-09-05  2:56 ` Fam Zheng
  2017-09-05  9:17 ` [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Stefan Hajnoczi
  6 siblings, 0 replies; 8+ messages in thread
From: Fam Zheng @ 2017-09-05  2:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, Alex Bennée, Fam Zheng, kchamart, eblake,
	Philippe Mathieu-Daudé

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/run | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/tests/docker/run b/tests/docker/run
index 9eb9165f76..aad91f6ef5 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -1,4 +1,4 @@
-#!/bin/bash -e
+#!/bin/bash
 #
 # Docker test runner
 #
@@ -11,8 +11,6 @@
 # or (at your option) any later version. See the COPYING file in
 # the top-level directory.
 
-set -e
-
 if test -n "$V"; then
     set -x
 fi
@@ -20,7 +18,7 @@ fi
 BASE="$(dirname $(readlink -e $0))"
 
 # Prepare the environment
-. /etc/profile || true
+. /etc/profile
 export PATH=/usr/lib/ccache:$PATH
 
 if test -n "$J"; then
@@ -32,7 +30,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
+tar -C $TEST_DIR/src -xf $BASE/qemu.tar || prep_fail "Failed to untar source"
 
 if test -n "$SHOW_ENV"; then
     if test -f /packages.txt; then
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH v4 0/6] docker: Add test-block
  2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
                   ` (5 preceding siblings ...)
  2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 6/6] docker: Drop 'set -e' from run script Fam Zheng
@ 2017-09-05  9:17 ` Stefan Hajnoczi
  6 siblings, 0 replies; 8+ messages in thread
From: Stefan Hajnoczi @ 2017-09-05  9:17 UTC (permalink / raw)
  To: Fam Zheng
  Cc: qemu-devel, kchamart, Philippe Mathieu-Daudé,
	Alex Bennée

On Tue, Sep 05, 2017 at 10:56:08AM +0800, Fam Zheng wrote:
> Based-on: 20170905021201.25684-1-famz@redhat.com
> ([PATCH v6 00/12] tests: Add VM based build tests (for non-x86_64 and/or
> non-Linux))
> 
> A few tweaks to the docker images and running commands allow us to run
> qemu-iotests in the fedora container. This will be added to the patchew test
> cases later.
> 
> v4: Don't use 'set -e'. [Eric]
>     Add Kashyap's rev-by to unchanged patches.
> 
> v3: Add nbd, luks and limit to quick group.
> 
> v2: Add nettle-devel because a few iotest cases blindly assumes the support is
> there.
> 
> Fam Zheng (6):
>   docker: Fix return code of build_qemu()
>   docker: Add test_fail and prep_fail
>   docker: Use unconfined security profile
>   docker: Add nettle-devel to fedora image
>   docker: Add test-block
>   docker: Drop 'set -e' from run script
> 
>  tests/docker/Makefile.include          |  1 +
>  tests/docker/common.rc                 | 15 +++++++++++++--
>  tests/docker/dockerfiles/fedora.docker |  1 +
>  tests/docker/run                       |  8 +++-----
>  tests/docker/test-block                | 22 ++++++++++++++++++++++
>  5 files changed, 40 insertions(+), 7 deletions(-)
>  create mode 100755 tests/docker/test-block
> 
> -- 
> 2.13.5
> 
> 

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-09-05  9:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-05  2:56 [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 1/6] docker: Fix return code of build_qemu() Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 2/6] docker: Add test_fail and prep_fail Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 3/6] docker: Use unconfined security profile Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 4/6] docker: Add nettle-devel to fedora image Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 5/6] docker: Add test-block Fam Zheng
2017-09-05  2:56 ` [Qemu-devel] [PATCH v4 6/6] docker: Drop 'set -e' from run script Fam Zheng
2017-09-05  9:17 ` [Qemu-devel] [PATCH v4 0/6] docker: Add test-block Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).