From patchwork Mon Jul 15 14:54:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 1132071 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45nRQZ25p0z9sPx for ; Tue, 16 Jul 2019 00:55:02 +1000 (AEST) Received: from localhost ([::1]:39730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn2NX-0007Tv-UM for incoming@patchwork.ozlabs.org; Mon, 15 Jul 2019 10:54:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40853) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn2NM-0007BB-K5 for qemu-devel@nongnu.org; Mon, 15 Jul 2019 10:54:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hn2NL-0004KG-AN for qemu-devel@nongnu.org; Mon, 15 Jul 2019 10:54:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46600) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hn2NI-0004H4-Ew; Mon, 15 Jul 2019 10:54:44 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BA59230832EF; Mon, 15 Jul 2019 14:54:43 +0000 (UTC) Received: from thuth.com (reserved-198-198.str.redhat.com [10.33.198.198]) by smtp.corp.redhat.com (Postfix) with ESMTP id A714E60C05; Mon, 15 Jul 2019 14:54:42 +0000 (UTC) From: Thomas Huth To: qemu-devel@nongnu.org Date: Mon, 15 Jul 2019 16:54:37 +0200 Message-Id: <20190715145438.6880-2-thuth@redhat.com> In-Reply-To: <20190715145438.6880-1-thuth@redhat.com> References: <20190715145438.6880-1-thuth@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Mon, 15 Jul 2019 14:54:43 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 1/2] tests/qemu-iotests/group: Remove some more tests from the "auto" group X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Remove some more tests from the "auto" group that either have issues in certain environments (like macOS or FreeBSD, or on certain file systems like ZFS or tmpfs), do not work with the qcow2 format, or that are simply taking too much time. Signed-off-by: Thomas Huth --- tests/qemu-iotests/group | 109 ++++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index b34c8e3c0c..9db19f7bed 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -14,7 +14,8 @@ # runnable in any case. That means they should run with every QEMU binary # (also non-x86), with every QEMU configuration (i.e. must not fail if # an optional feature is not compiled in - but reporting a "skip" is ok), -# and work all kind of host filesystems and users (e.g. "nobody" or "root"). +# work at least with the qcow2 file format and work all kind of host +# filesystems and users (e.g. "nobody" or "root"). # # @@ -33,8 +34,8 @@ 011 rw auto quick 012 auto quick 013 rw auto -014 rw auto -015 rw snapshot auto +014 rw +015 rw snapshot # 016 was removed, do not reuse 017 rw backing auto quick 018 rw backing auto quick @@ -42,7 +43,7 @@ 020 rw backing auto quick 021 io auto quick 022 rw snapshot auto -023 rw auto +023 rw 024 rw backing auto quick 025 rw auto quick 026 rw blkdbg @@ -78,94 +79,94 @@ 056 rw backing 057 rw 058 rw quick -059 rw auto quick +059 rw quick 060 rw auto quick 061 rw auto 062 rw auto quick 063 rw auto quick -064 rw auto quick +064 rw quick 065 rw quick 066 rw auto quick 067 rw quick 068 rw quick 069 rw auto quick -070 rw auto quick +070 rw quick 071 rw auto quick 072 rw auto quick 073 rw auto quick 074 rw auto quick -075 rw auto quick -076 auto -077 rw auto quick -078 rw auto quick +075 rw quick +076 io +077 rw quick +078 rw quick 079 rw auto 080 rw auto -081 rw auto quick -082 rw auto quick -083 rw auto -084 img auto quick +081 rw quick +082 rw quick +083 rw +084 img quick 085 rw 086 rw auto quick 087 rw quick -088 rw auto quick +088 rw quick 089 rw auto quick 090 rw auto quick -091 rw auto migration -092 rw auto quick +091 rw migration +092 rw quick 093 throttle -094 rw auto quick +094 rw quick 095 rw quick 096 rw quick 097 rw auto backing 098 rw auto backing quick 099 rw auto quick # 100 was removed, do not reuse -101 rw auto quick -102 rw auto quick +101 rw quick +102 rw quick 103 rw auto quick 104 rw auto 105 rw auto quick -106 rw auto quick +106 rw quick 107 rw auto quick 108 rw auto quick -109 rw auto +109 rw 110 rw auto backing quick 111 rw auto quick 112 rw -113 rw auto quick +113 rw quick 114 rw auto quick 115 rw -116 rw auto quick +116 rw quick 117 rw auto 118 rw -119 rw auto quick +119 rw quick 120 rw auto quick 121 rw 122 rw auto -123 rw auto quick +123 rw quick 124 rw backing 125 rw 126 rw auto backing 127 rw backing quick -128 rw auto quick +128 rw quick 129 rw quick 130 rw auto quick -131 rw auto quick +131 rw quick 132 rw quick 133 auto quick 134 rw auto quick -135 rw auto +135 rw 136 rw 137 rw auto 138 rw auto quick 139 rw quick 140 rw auto quick 141 rw auto quick -142 auto +142 o_direct 143 auto quick 144 rw quick 145 quick -146 auto quick +146 quick 147 img 148 rw quick 149 rw sudo @@ -179,18 +180,18 @@ 157 quick 158 rw auto quick 159 rw auto quick -160 rw auto quick +160 rw quick 161 rw auto quick 162 quick 163 rw 165 rw quick 169 rw quick migration 170 rw auto quick -171 rw auto quick +171 rw quick 172 auto -173 rw auto +173 rw 174 auto -175 auto quick +175 quick 176 rw auto backing 177 rw auto quick 178 img @@ -220,13 +221,13 @@ 204 rw quick 205 rw quick 206 rw -207 rw auto +207 rw 208 rw quick 209 rw quick -210 rw auto -211 rw auto quick -212 rw auto quick -213 rw auto quick +210 rw +211 rw quick +212 rw quick +213 rw quick 214 rw auto 215 rw auto quick 216 rw quick @@ -234,38 +235,38 @@ 218 rw quick 219 rw 220 rw auto -221 rw auto quick +221 rw quick 222 rw quick 223 rw quick 224 rw quick -225 rw auto quick +225 rw quick 226 auto quick 227 quick 228 rw quick 229 auto quick -231 auto quick +231 quick 232 quick -233 auto quick +233 quick 234 quick migration 235 quick 236 quick -237 rw auto quick +237 rw quick 238 quick -239 rw auto quick +239 rw quick 240 quick -241 rw auto quick +241 rw quick 242 rw quick -243 rw auto quick +243 rw quick 244 rw auto quick 245 rw 246 rw quick 247 rw quick 248 rw quick 249 rw auto quick -250 rw auto quick +250 rw quick 251 rw auto quick 252 rw auto backing quick -253 rw auto quick -254 rw auto backing quick -255 rw auto quick -256 rw auto quick +253 rw o_direct quick +254 rw backing quick +255 rw quick +256 rw quick From patchwork Mon Jul 15 14:54:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 1132072 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45nRQv3L8fz9sQp for ; Tue, 16 Jul 2019 00:55:19 +1000 (AEST) Received: from localhost ([::1]:39742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn2Np-0000Ix-H5 for incoming@patchwork.ozlabs.org; Mon, 15 Jul 2019 10:55:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40865) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn2NO-0007IO-4X for qemu-devel@nongnu.org; Mon, 15 Jul 2019 10:54:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hn2NM-0004Lf-Nj for qemu-devel@nongnu.org; Mon, 15 Jul 2019 10:54:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54278) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hn2NJ-0004IK-Pa; Mon, 15 Jul 2019 10:54:45 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 18FEF308FF2C; Mon, 15 Jul 2019 14:54:45 +0000 (UTC) Received: from thuth.com (reserved-198-198.str.redhat.com [10.33.198.198]) by smtp.corp.redhat.com (Postfix) with ESMTP id 08E0B60C05; Mon, 15 Jul 2019 14:54:43 +0000 (UTC) From: Thomas Huth To: qemu-devel@nongnu.org Date: Mon, 15 Jul 2019 16:54:38 +0200 Message-Id: <20190715145438.6880-3-thuth@redhat.com> In-Reply-To: <20190715145438.6880-1-thuth@redhat.com> References: <20190715145438.6880-1-thuth@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Mon, 15 Jul 2019 14:54:45 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 2/2] tests: Run the iotests during "make check" again X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" People often forget to run the iotests before submitting patches or pull requests - this is likely due to the fact that we do not run the tests during our mandatory "make check" tests yet. Now that we've got a proper "auto" group of iotests that should be fine to run in every environment, we can enable the iotests during "make check" again by running the "auto" tests by default from the check-block.sh script. Some cases still need to be checked first, though: iotests need bash and GNU sed (otherwise they fail), and if gprof is enabled, it spoils the output of some test cases causing them to fail. So if we detect that one of the required programs is missing or that gprof is enabled, we still have to skip the iotests to avoid failures. And finally, since we are using check-block.sh now again, this patch also removes the qemu-iotests-quick.sh script since we do not need that anymore (and having two shell wrapper scripts around the block tests seems rather confusing than helpful). Signed-off-by: Thomas Huth [AJB: -makecheck to check-block.sh, move check-block to start and gate it] Signed-off-by: Alex Bennée --- tests/Makefile.include | 8 +++---- tests/check-block.sh | 44 ++++++++++++++++++++++++++++--------- tests/qemu-iotests-quick.sh | 8 ------- 3 files changed, 38 insertions(+), 22 deletions(-) delete mode 100755 tests/qemu-iotests-quick.sh diff --git a/tests/Makefile.include b/tests/Makefile.include index a983dd32da..2bdc6e5d1c 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -141,7 +141,7 @@ check-unit-y += tests/test-uuid$(EXESUF) check-unit-y += tests/ptimer-test$(EXESUF) check-unit-y += tests/test-qapi-util$(EXESUF) -check-block-$(CONFIG_POSIX) += tests/qemu-iotests-quick.sh +check-block-$(call land,$(CONFIG_POSIX),$(CONFIG_SOFTMMU)) += tests/check-block.sh # All QTests for now are POSIX-only, but the dependencies are # really in libqtest, not in the testcases themselves. @@ -1090,8 +1090,8 @@ clean-tcg: $(CLEAN_TCG_TARGET_RULES) QEMU_IOTESTS_HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = tests/qemu-iotests/socket_scm_helper$(EXESUF) -.PHONY: check-tests/qemu-iotests-quick.sh -check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) +.PHONY: check-tests/check-block.sh +check-tests/check-block.sh: tests/check-block.sh qemu-img$(EXESUF) qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) $< .PHONY: $(patsubst %, check-%, $(check-qapi-schema-y)) @@ -1165,7 +1165,7 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) check-qapi-schema: $(patsubst %,check-%, $(check-qapi-schema-y)) check-tests/qapi-schema/doc-good.texi check-qtest: $(patsubst %,check-qtest-%, $(QTEST_TARGETS)) check-block: $(patsubst %,check-%, $(check-block-y)) -check: check-qapi-schema check-unit check-softfloat check-qtest check-decodetree +check: check-block check-qapi-schema check-unit check-softfloat check-qtest check-decodetree check-clean: rm -rf $(check-unit-y) tests/*.o $(QEMU_IOTESTS_HELPERS-y) rm -rf $(sort $(foreach target,$(SYSEMU_TARGET_LIST), $(check-qtest-$(target)-y)) $(check-qtest-generic-y)) diff --git a/tests/check-block.sh b/tests/check-block.sh index f3d12fd602..c8b6cec3f6 100755 --- a/tests/check-block.sh +++ b/tests/check-block.sh @@ -1,24 +1,48 @@ #!/bin/sh -FORMAT_LIST="raw qcow2 qed vmdk vpc" +# Honor the SPEED environment variable, just like we do it for the qtests. +if [ "$SPEED" = "slow" ]; then + format_list="raw qcow2" + group= +elif [ "$SPEED" = "thorough" ]; then + format_list="raw qcow2 qed vmdk vpc" + group= +else + format_list=qcow2 + group="-g auto" +fi + if [ "$#" -ne 0 ]; then - FORMAT_LIST="$@" + format_list="$@" +fi + +if grep -q "TARGET_GPROF=y" *-softmmu/config-target.mak 2>/dev/null ; then + echo "GPROF is enabled ==> Not running the qemu-iotests." + exit 0 fi -export QEMU_PROG="$PWD/x86_64-softmmu/qemu-system-x86_64" -export QEMU_IMG_PROG="$PWD/qemu-img" -export QEMU_IO_PROG="$PWD/qemu-io" +if [ -z "$(find . -name 'qemu-system-*' -print)" ]; then + echo "No qemu-system binary available ==> Not running the qemu-iotests." + exit 0 +fi + +if ! command -v bash >/dev/null 2>&1 ; then + echo "bash not available ==> Not running the qemu-iotests." + exit 0 +fi -if [ ! -x $QEMU_PROG ]; then - echo "'make check-block' requires qemu-system-x86_64" - exit 1 +if ! (sed --version | grep 'GNU sed') > /dev/null 2>&1 ; then + if ! command -v gsed >/dev/null 2>&1; then + echo "GNU sed not available ==> Not running the qemu-iotests." + exit 0 + fi fi cd tests/qemu-iotests ret=0 -for FMT in $FORMAT_LIST ; do - ./check -T -nocache -$FMT || ret=1 +for fmt in $format_list ; do + ./check -makecheck -$fmt $group || ret=1 done exit $ret diff --git a/tests/qemu-iotests-quick.sh b/tests/qemu-iotests-quick.sh deleted file mode 100755 index 0e554bb972..0000000000 --- a/tests/qemu-iotests-quick.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -cd tests/qemu-iotests - -ret=0 -TEST_DIR=${TEST_DIR:-/tmp/qemu-iotests-quick-$$} ./check -T -qcow2 -g quick || ret=1 - -exit $ret