summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2013-05-27 03:12:03 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2013-06-02 00:50:09 +0200
commit7c89cbf03a15fe30de520d50c214cd3878518e45 (patch)
treec47e853f79419e5be7602d5cf54b1006fb017726
parent53fbf2bea3e992f1c21f5f77eacc687ce01143f5 (diff)
downloadlvm2-7c89cbf03a15fe30de520d50c214cd3878518e45.tar.gz
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
-rw-r--r--test/Makefile.in8
-rw-r--r--test/lib/harness.c11
-rw-r--r--test/lib/test.sh8
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 "{}" +