From 7c89cbf03a15fe30de520d50c214cd3878518e45 Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Mon, 27 May 2013 03:12:03 +0200 Subject: [PATCH] tests: run all the test flavours in a single batch This means that a test failure in one flavour no longer prevents all the subsequent flavours from running. We also get an aggregate summary at the end of the entire batch, instead of summaries interspersed with progress output. Do not fail when flavour overrides are empty --- test/Makefile.in | 8 +++++++- test/lib/harness.c | 11 ++++++++++- test/lib/test.sh | 8 ++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/test/Makefile.in b/test/Makefile.in index 5bbd1d6b3..938dc1d46 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -66,7 +66,13 @@ help: @echo " T Run given test (regex)." @echo " VERBOSE Verbose output (1), timing (2)." -check: check_local check_cluster check_lvmetad +check: .tests-stamp + VERBOSE=$(VEROSE) \ + cluster_LVM_TEST_LOCKING=3 \ + lvmetad_LVM_TEST_LVMETAD=1 \ + ./lib/harness $(patsubst %,normal:%,$(RUN_BASE)) \ + $(patsubst %,cluster:%,$(RUN_BASE)) \ + $(patsubst %,lvmetad:%,$(RUN_BASE)) check_cluster: .tests-stamp @echo Testing with locking_type 3 diff --git a/test/lib/harness.c b/test/lib/harness.c index 929bfc8b7..d610bf8e1 100644 --- a/test/lib/harness.c +++ b/test/lib/harness.c @@ -286,7 +286,16 @@ static void run(int i, char *f) { close(fds[0]); close(fds[1]); } - execlp("bash", "bash", f, NULL); + char flavour[512], script[512]; + if (strchr(f, ':')) { + strcpy(flavour, f); + *strchr(flavour, ':') = 0; + setenv("LVM_TEST_FLAVOUR", flavour, 1); + strcpy(script, strchr(f, ':') + 1); + } else { + strcpy(script, f); + } + execlp("bash", "bash", script, NULL); perror("execlp"); fflush(stderr); _exit(202); diff --git a/test/lib/test.sh b/test/lib/test.sh index 372974932..9a56a0f63 100644 --- a/test/lib/test.sh +++ b/test/lib/test.sh @@ -56,6 +56,14 @@ cd "$TESTDIR" echo "$TESTNAME" >TESTNAME +if test -n "$LVM_TEST_FLAVOUR"; then + touch flavour_overrides + env | grep ^$LVM_TEST_FLAVOUR | while read var; do + (echo -n "export "; echo $var | sed -e s,^${LVM_TEST_FLAVOUR}_,,) >> flavour_overrides + done + . flavour_overrides +fi + # Setting up symlink from $i to $TESTDIR/lib find "$abs_top_builddir/daemons/dmeventd/plugins/" -name '*.so' \ -exec ln -s -t lib "{}" +