[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 23/23] tests: Run the iotests during "make ch
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v1 23/23] tests: Run the iotests during "make check" again |
Date: |
Fri, 10 May 2019 10:46:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
On 09/05/2019 18.59, Alex Bennée wrote:
> From: Thomas Huth <address@hidden>
>
> 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 <address@hidden>
> Message-Id: <address@hidden>
> [AJB: add -pretty to check-block.sh]
> Signed-off-by: Alex Bennée <address@hidden>
> ---
> 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 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
Could you please move "check-block" to the beginning of the list
instead? I just noticed that the total runtime of "make check" will be
shorter that way when running the tests in parallel with "-j...".
Reason: check-block is the test with the longest runtime. So if the
other shorter tests are started first, they will occupy all CPUs for a
short amount of time, and check-block will be running more or less alone
in the end. Now if you start check-block first, it can run for the whole
time, while the shorter tests are scheduled to the remaining CPU jobs
instead.
Thomas
- [Qemu-devel] [PATCH v1 12/23] .travis.yml: enable aarch64-softmmu and alpha-softmmu tcg tests, (continued)
- [Qemu-devel] [PATCH v1 12/23] .travis.yml: enable aarch64-softmmu and alpha-softmmu tcg tests, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 19/23] cirrus / travis: Add gnu-sed and bash for macOS and FreeBSD, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 15/23] Makefile.target: support per-target coverage reports, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 14/23] Makefile: include per-target build directories in coverage report, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 18/23] tests/qemu-iotests: Do not hard-code the path to bash, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 21/23] tests/qemu-iotests/group: Re-use the "auto" group for tests that can always run, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 16/23] tests/qemu-iotests/005: Add a sanity check for large sparse file support, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 23/23] tests: Run the iotests during "make check" again, Alex Bennée, 2019/05/09
- Re: [Qemu-devel] [PATCH v1 23/23] tests: Run the iotests during "make check" again,
Thomas Huth <=
- [Qemu-devel] [PATCH v1 20/23] tests/qemu-iotests: Remove the "_supported_os Linux" line from many tests, Alex Bennée, 2019/05/09
- [Qemu-devel] [PATCH v1 22/23] tests/qemu-iotests: re-format output to for make check-block, Alex Bennée, 2019/05/09
- Re: [Qemu-devel] [PATCH v1 22/23] tests/qemu-iotests: re-format output to for make check-block, Thomas Huth, 2019/05/10