From patchwork Thu May 30 10:15:40 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: 165412 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp767588ili; Thu, 30 May 2019 03:19:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqycy21iLvA/NPY8On9b23zuA288PGwMGtIbLID0o9u+hIgXGZxw3jlFL+i70ZA6O5Dd9irD X-Received: by 2002:ae9:ea05:: with SMTP id f5mr2279483qkg.275.1559211593318; Thu, 30 May 2019 03:19:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559211593; cv=none; d=google.com; s=arc-20160816; b=ZEuopwwAfKNR0IQ+Vau5m4mXFQtr9KB1rFg3g3NdBx5pyioJJRL/8vVjg4YY9NNiIW zjgyGeYltX6KngFTmi7I3rTbRzgPx623SAI9x8O1ByTFG0jJBr72J3rNypZAWLItGzt+ rKZCTUrkam0bpRu4c1jcqMmfmNIkPZkGc8Q2eHnwHXsl752axs8MAO3yKS5VcMtUCUPk 354ASdeV3685NeiDV2qDzWU+6wFnqBkbsyUL6UZVVYdJsOjZgeDF8Zrcvg6UFIzYEOJ8 RpjCrDV2rHCKjlX6SPSM8qzrenDU5G7nH5IpLARewmNZqJ+fCH7+llRxduvvMe5zmJM7 3ZdA== 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=PPLFa9NHnZbGHQDGEn1CiaHDLKyObQdBVLbTqFMD65I=; b=0CHi4Oh7QCrHzVl0TwcPRSDu+ImmY/o0j0uC2Dndkbwyo9nA6i0iqp2VmAYFb/A9IQ kjFdG9RGabLIsw9f5DrA5v/SUF1bwjFRzFToDS9/LJut9nZ3SrN0541lsXrt4OjvlLDQ /AjeAHkpLtHYKDyA/ziRAJlpRk7DQhgntx76HasTApw0psiSVenMiGc82HwL2w4BF2OU atEdpUjZIVmgZIdvQA4PhmoT3LYC/3cCF69M5x6PcRnLsmmWx+v41g3eUqEOcP6Qyv7R jj+WwlV0GQ4RpfEl4lw/mekQglUWhyyNnBnQJuy/W14F/MrXQfxD/YyrKZcDDnh670IB 4/sQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=XZupICCA; 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 g132si1443767qkb.111.2019.05.30.03.19.53 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 30 May 2019 03:19:53 -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=XZupICCA; 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]:50573 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hWIA4-0005Bt-Nj for patch@linaro.org; Thu, 30 May 2019 06:19:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hWI6U-0002ZK-Np for qemu-devel@nongnu.org; Thu, 30 May 2019 06:16:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hWI6T-0006Sm-BU for qemu-devel@nongnu.org; Thu, 30 May 2019 06:16:10 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:43743) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hWI6T-0006RX-2u for qemu-devel@nongnu.org; Thu, 30 May 2019 06:16:09 -0400 Received: by mail-wr1-x442.google.com with SMTP id l17so3799857wrm.10 for ; Thu, 30 May 2019 03:16:09 -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=PPLFa9NHnZbGHQDGEn1CiaHDLKyObQdBVLbTqFMD65I=; b=XZupICCADA9sZPbFCDZJlSNr9kqu2xsEr+tj1nHOnTeTYPzkB480cWgVdleix5zmas JvIk5yWG41IWcMH/K5H+Z5c45S6byrH4FHF+8CSnq1b8AzO0VQ9e2W31i7qOwNxc2NnS wCPDuXtIU1X33cUaXT5ZTkUZrrHBptHCx3fmSeCLhpP6GTgaVctqMczHqSxiE/U3zEqD j/Y//Qb2mpJAO1zaOh1odCA3T8c+4GR9tWv5OOYdLt4qeEpZOiT8d2L9gdmOnZlTnSFK MiwnQWNOP97g9OTG8idvD3rAs1A7sthtVktWQZjPBU0OYX2FRI1hOnkL8Hvn1wv3SG0K AfjQ== 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=PPLFa9NHnZbGHQDGEn1CiaHDLKyObQdBVLbTqFMD65I=; b=oDpgCtsQ0jeiMswVddCeIWdAlBD0tXQmy9a8eSzNSu4pFp/9eiifqvBUi/8AM0PJ84 wb/Oz3KL7wtq72Wte4KC7ctxn/rdP/vZ59Ksc/kp/39eKBrjhOIQSn0NsE3eL62+Mt9e A5u7YRDPDjEOfE47I/58xw0Px9bktICP4E27gwy396/5qZ7OQqd8mRpQ4Xj1SKXnZT6+ /K9/XfsFrFIbdG0KhbFZ/yCS9KviIgj6+Qdtw+zIt0YtTRlFnQSMSkTFzd53t6twkR53 zMjs3z/uugbj/e9ZVl+cGOrGBww3xQHMLBH7Cpp/fRMHBLT5iVZu8m0nZ9DRkrHTjw1w g1Ig== X-Gm-Message-State: APjAAAXVdy7SNx48mEhE5jOg4jzKG1W0s/NtQ5I23h+ypJxbnHw3YL3f jL8LKJn3UrOvfBQW2YmAzU6SMA== X-Received: by 2002:adf:e7c5:: with SMTP id e5mr2018623wrn.107.1559211367918; Thu, 30 May 2019 03:16:07 -0700 (PDT) Received: from zen.linaroharston ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id y17sm4609255wrg.18.2019.05.30.03.16.04 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 30 May 2019 03:16:04 -0700 (PDT) Received: from zen.linaroharston. (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 49ADE1FF90; Thu, 30 May 2019 11:16:04 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Date: Thu, 30 May 2019 11:15:40 +0100 Message-Id: <20190530101603.22254-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190530101603.22254-1-alex.bennee@linaro.org> References: <20190530101603.22254-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::442 Subject: [Qemu-devel] [PATCH v1 03/26] 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 , =?utf-8?q?Alex_Benn=C3=A9e?= 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: -makecheck to check-block.sh, move check-block to start&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 -- 2.20.1 diff --git a/tests/Makefile.include b/tests/Makefile.include index 1865f6b3222..0c6d8c75941 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-$(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. @@ -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-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 f3d12fd602d..c8b6cec3f68 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 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