This fixes 'RECHECK=yes' functionality in case of configured test range. For example, before the patch following cmdline will result in running all of the 1000 tests re-checking in case of any failure:
make -j8 check TESTSUITEFLAGS='1000-1999' RECHECK=yes This happens because ranges and pattern matching options has higher priority than the '--recheck'. With patch, only failed tests from the range will be re-checked. With this patch applied we're dropping support of '--verbose' and '--trace' options while re-check, but, IMHO, these options makes sense mostly while debugging individual tests and not much usable while running recheck of a whole testsuite. '--jobs' we're resetting each time anyway. Not sure if someone overrides default '--directory'. For me it looks not very useful. Changing the color mode also looks not much profitable. OTOH, re-checking the ranges or keyword matched tests is very useful, for example, if you're trying to split up single testsuite check in a few independent CI jobs. Signed-off-by: Ilya Maximets <[email protected]> --- tests/automake.mk | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/automake.mk b/tests/automake.mk index 97312cf2c..366de0b1e 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -183,8 +183,8 @@ DISTCLEANFILES += tests/atconfig tests/atlocal AUTOTEST_PATH = utilities:vswitchd:ovsdb:vtep:tests:$(PTHREAD_WIN32_DIR_DLL):$(SSL_DIR):ovn/controller-vtep:ovn/northd:ovn/utilities:ovn/controller check-local: - set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" -j1 --recheck) + set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH); \ + "$$@" $(TESTSUITEFLAGS) || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) # Python Coverage support. # Requires coverage.py http://nedbatchelder.com/code/coverage/. @@ -211,8 +211,8 @@ LCOV_OPTS = -b $(abs_top_builddir) -d $(abs_top_builddir) -q -c --rc lcov_branch GENHTML_OPTS = -q --branch-coverage --num-spaces 4 check-lcov: all $(check_DATA) clean-lcov find . -name '*.gcda' | xargs -n1 rm -f - -set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS); \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" -j1 --recheck) + -set $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH); \ + "$$@" $(TESTSUITEFLAGS) || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) $(MKDIR_P) tests/lcov lcov $(LCOV_OPTS) -o tests/lcov/coverage.info genhtml $(GENHTML_OPTS) -o tests/lcov tests/lcov/coverage.info @@ -261,15 +261,15 @@ check-valgrind: all $(valgrind_wrappers) $(check_DATA) @echo 'Valgrind output can be found in tests/testsuite.dir/*/valgrind.*' @echo '----------------------------------------------------------------------' check-kernel-valgrind: all $(valgrind_wrappers) $(check_DATA) - set $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests VALGRIND='$(VALGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests VALGRIND='$(VALGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) @echo @echo '----------------------------------------------------------------------' @echo 'Valgrind output can be found in tests/system-kmod-testsuite.dir/*/valgrind.*' @echo '----------------------------------------------------------------------' check-userspace-valgrind: all $(valgrind_wrappers) $(check_DATA) - set $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests VALGRIND='$(VALGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests VALGRIND='$(VALGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) @echo @echo '----------------------------------------------------------------------' @echo 'Valgrind output can be found in tests/system-userspace-testsuite.dir/*/valgrind.*' @@ -291,8 +291,8 @@ EXTRA_DIST += tests/run-ryu # Run kmod tests. Assume kernel modules has been installed or linked into the kernel check-kernel: all - set $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_KMOD_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) # Testing the out of tree Kernel module check-kmod: all @@ -301,16 +301,16 @@ check-kmod: all $(MAKE) check-kernel check-system-userspace: all - set $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_USERSPACE_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) check-offloads: all - set $(SHELL) '$(SYSTEM_OFFLOADS_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_OFFLOADS_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) check-dpdk: all - set $(SHELL) '$(SYSTEM_DPDK_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)' $(TESTSUITEFLAGS) -j1; \ - "$$@" || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) + set $(SHELL) '$(SYSTEM_DPDK_TESTSUITE)' -C tests AUTOTEST_PATH='$(AUTOTEST_PATH)'; \ + "$$@" $(TESTSUITEFLAGS) -j1 || (test X'$(RECHECK)' = Xyes && "$$@" --recheck) clean-local: test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' -C tests --clean -- 2.17.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
