From patchwork Thu May 9 16:59:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 163740 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:142:0:0:0:0 with SMTP id j2csp1264050ilr; Thu, 9 May 2019 10:22:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqzXmXMKEgVJPbJ3qmXXcPE8UwSV7SL6oAAO6tNGaaKYHs/Uxej8++d20oH1ilnbeind3GCI X-Received: by 2002:a1c:d7:: with SMTP id 206mr4059140wma.69.1557422529203; Thu, 09 May 2019 10:22:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557422529; cv=none; d=google.com; s=arc-20160816; b=b5dvXuwg4hRzneidEujBkjyuEYRe6jBpkMjagvZJysx0WPHFaYi6omyDtSnP2BJDHi coHZCebVoCDaqEn0dGKW37PlzNjjhbZj2j/r0TkXdd5yE1CrY0reZY31Os0swLeV15fW 1tm+kK8hILPTG9cRrdNRT4dKYaooBaNbqqZoAyYvVIpZEb6xTYeKq7e8wUW+NL1ZVokH N6arvBEdtMJc8LGoYAPscilA6N8o0NZUAEwUiye2p6c3V7xY7lt3EeGq/eSIBzbvgOEW 8eA9sap8d4aVtYI10Sw526Rdsqpts92qF8Xx6iaRWq7TEIo87z6ehH+KKX9ZG4+1/NJM gb+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=iHi8P5Y+fYb6nyulM6KxlZkFZ/na7aLikDVfLgDRiak=; b=haHAjPzhHmLWBz7nfSe29F91KPYUqFZqMUtHXdN4b1JSWVoMBQlf8UPtnWKO/EEn61 s6b5wI+kde9BjUjFQV5bcA9+JCDpWlPX3imJlftFKXO8aSAfwW6qAeODkOq9hpv4YO11 TliGHqHMzmFjTfHRfod0xv94JAYS2hpx/+EozUB4eP2RCniFh/M74zsmScSy5YGTePKm dveNHMBF2g+xsdPBDL2owQdIFZmOOrfnMKo9p2RC1Uyj6AKEcB2NP20aSqfWp5U0XR6G BUNlj6e5pO4Eig/7PE7TNnEmFKUwK9t1v5Rvd/iy6Zp88np1QT6mvXB82Ue7WAAE4tAw XiuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=u439D07E; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id y13si2201826wrn.29.2019.05.09.10.22.08 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 09 May 2019 10:22:09 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=u439D07E; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:58373 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hOmkC-0001mp-2m for patch@linaro.org; Thu, 09 May 2019 13:22:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hOmU8-0003pq-NZ for qemu-devel@nongnu.org; Thu, 09 May 2019 13:05:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hOmU4-0008Dd-Ul for qemu-devel@nongnu.org; Thu, 09 May 2019 13:05:32 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:55798) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hOmU4-0008Al-LB for qemu-devel@nongnu.org; Thu, 09 May 2019 13:05:28 -0400 Received: by mail-wm1-x344.google.com with SMTP id y2so4153066wmi.5 for ; Thu, 09 May 2019 10:05:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iHi8P5Y+fYb6nyulM6KxlZkFZ/na7aLikDVfLgDRiak=; b=u439D07EEYGjhUmMS2JFWYGKjhYT3YoFJ8Wi1NaAAEEDcf4k1etHXHy3TwBIdSGGtb nCRR83cZVx7l82EnlKn11okIMUvrqtUnaOGuVQ+aE+k9Adjc5lHqD9/Je9kE3sYlZa2d 8N9WVA+OTlJ7CnbyeD1URFO13qBtvOTiexAPdSGkAH68bEi9EgRE74C7jezrGrvKQ7+Y iQkYFXngzgG1CXNCgHCx1cUBJm05VRZ8ktF4PODXQkHn/gK+6XHmN2fzE/DOVFrfSB/P 6ZQxLoBUA3gkrEhUHWbmOScs0+FuKuxZcW2lICRiluE3pSHHf9F3Bhw9lP948+dAm9U+ GyRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iHi8P5Y+fYb6nyulM6KxlZkFZ/na7aLikDVfLgDRiak=; b=KrriGnvqfn1dtnmwwB+dA6KeETdZ69cu26Vrr9pE2vZIcTnr7TJgVRqBa46iwDegfL GwAQFfzmKJ+Iohs7NZt2UGF92xxejWVcdqs0qjdJFZLTEFZMAT3dmdrHcPxJPjznQi+F HdKQQdPKrlI4sEvbVj73MG/8q2+GiWdXHvDFp30tQ8EOobIhrGyBcQTLJ9jV53fqPdI+ xuZugBeLmWCGj6BqMC/S2OSyUkC73VIAulE62Z0niOlKk1qQpgloDmlgFDR4Ys6903So pSgOjFkxelZ7dtKyJDkifn6zVb1jzgiEvT+mo21e2AjIRIsELLipFRSu1sVV/AW1R6tp vemA== X-Gm-Message-State: APjAAAXgACQ+ddQ2GiWjU8hrUvfIPesmZEaWzNaU7F6IQgNCD3MuwYZf 4AOk3DQCNSlPFzfIRZDQrl+0dA== X-Received: by 2002:a1c:1d4:: with SMTP id 203mr3954770wmb.76.1557421527426; Thu, 09 May 2019 10:05:27 -0700 (PDT) Received: from zen.linaroharston ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id p24sm1748448wma.18.2019.05.09.10.05.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 09 May 2019 10:05:23 -0700 (PDT) Received: from zen.linaroharston. (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8F2D71FFAB; Thu, 9 May 2019 17:59:14 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Date: Thu, 9 May 2019 17:59:11 +0100 Message-Id: <20190509165912.10512-24-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190509165912.10512-1-alex.bennee@linaro.org> References: <20190509165912.10512-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PATCH v1 23/23] tests: Run the iotests during "make check" again X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , qemu-arm@nongnu.org, =?utf-8?q?Alex_Be?= =?utf-8?b?bm7DqWU=?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Thomas Huth 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 seem rather confusing than helpful). Signed-off-by: Thomas Huth Message-Id: <20190502084506.8009-8-thuth@redhat.com> [AJB: add -pretty to check-block.sh] 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 -- 2.20.1 diff --git a/tests/Makefile.include b/tests/Makefile.include index 60de085ee1f..e865daaa897 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -140,7 +140,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-$(CONFIG_POSIX) += tests/check-block.sh # All QTests for now are POSIX-only, but the dependencies are # really in libqtest, not in the testcases themselves. @@ -1077,8 +1077,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)) @@ -1152,7 +1152,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-qapi-schema check-unit check-softfloat check-qtest check-decodetree check-block 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 f3d12fd602d..9f636feccb2 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 -pretty -$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 0e554bb9724..00000000000 --- 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