REGTEST: add the option to test only a specific set of files

It currently is quite difficult to re-reun a specific test after an
error occurs. This patch adds a REG_TEST_FILES variable to the makefile,
which will be used to override the find operation. This helps focusing
on a specific file, which is essential during bisect to figure what
commit introduced a specific regression. Multiple files may be tested,
the return code will indicate the number of failed tests.
This commit is contained in:
Willy Tarreau 2018-11-23 08:29:15 +01:00
parent 7fc3be76c7
commit db86333901
1 changed files with 10 additions and 1 deletions

View File

@ -164,6 +164,9 @@ DEBUG_CFLAGS = -g
#### Add -Werror when set to non-empty #### Add -Werror when set to non-empty
ERR = ERR =
#### May be used to force running a specific set of reg-tests
REG_TEST_FILES =
#### Compiler-specific flags that may be used to disable some negative over- #### Compiler-specific flags that may be used to disable some negative over-
# optimization or to silence some warnings. -fno-strict-aliasing is needed with # optimization or to silence some warnings. -fno-strict-aliasing is needed with
# gcc >= 4.4. # gcc >= 4.4.
@ -1105,7 +1108,13 @@ reg-tests:
elif [ $$LEVEL = 4 ] ; then \ elif [ $$LEVEL = 4 ] ; then \
EXPR='b*.vtc'; \ EXPR='b*.vtc'; \
fi ; \ fi ; \
if [ -n "$$EXPR" ] ; then \ if [ -n "$(REG_TEST_FILES)" ] ; then \
err=0; \
for n in $(REG_TEST_FILES); do \
HAPROXY_PROGRAM=$${HAPROXY_PROGRAM:-$$PWD/haproxy} $(VARNISHTEST_PROGRAM) -l -t5 $$n || ((err++)); \
done; \
exit $$err; \
elif [ -n "$$EXPR" ] ; then \
find reg-tests -type f -name "$$EXPR" -print0 | \ find reg-tests -type f -name "$$EXPR" -print0 | \
HAPROXY_PROGRAM=$${HAPROXY_PROGRAM:-$$PWD/haproxy} xargs -r -0 $(VARNISHTEST_PROGRAM) -l -t5 ; \ HAPROXY_PROGRAM=$${HAPROXY_PROGRAM:-$$PWD/haproxy} xargs -r -0 $(VARNISHTEST_PROGRAM) -l -t5 ; \
fi fi