On 09/05/2019 18.59, Alex Bennée wrote: > From: Thomas Huth <th...@redhat.com> > > 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 <th...@redhat.com> > Message-Id: <20190502084506.8009-8-th...@redhat.com> > [AJB: add -pretty to check-block.sh] > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > 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