aboutsummaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorvadimk <vadim4j@gmail.com>2014-10-10 09:27:19 +0300
committerStephen Hemminger <shemming@brocade.com>2014-10-29 22:26:59 -0700
commit14f8854fa3d64e7e572d9bac3716516415379f55 (patch)
treebef7e09964d648b829eccc337078f8b72859f0de /testsuite
parent8d391512b72d2b8cd9d4f06b0b064794bd55ad6e (diff)
downloadiproute2-14f8854fa3d64e7e572d9bac3716516415379f55.tar.gz
tests: Allow to run tests recursively
Such approach allows to run *.t scripts from any tests/ subdirectories. One point is that tests from tests/cls/*.t (which are needed by tests/cls-testbed.t but does not exist yet) will also be ran aside with tests/cls-testbed.t which is not good because in such case they will be ran twice, so renamed these tests path to tests/cls/*.c in tests/cls-testbed.t Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/Makefile11
-rwxr-xr-xtestsuite/tests/cls-testbed.t2
2 files changed, 11 insertions, 2 deletions
diff --git a/testsuite/Makefile b/testsuite/Makefile
index d1bf359a..2ba95473 100644
--- a/testsuite/Makefile
+++ b/testsuite/Makefile
@@ -4,7 +4,11 @@ PREFIX := sudo -E
RESULTS_DIR := results
## -- End Config --
-TESTS := $(patsubst tests/%,%,$(wildcard tests/*.t))
+rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))
+
+TESTS := $(patsubst tests/%,%,$(call rwildcard,tests/,*.t))
+TESTS_DIR := $(dir $(TESTS))
+
IPVERS := $(filter-out iproute2/Makefile,$(wildcard iproute2/*))
ifneq (,$(wildcard /proc/config.gz))
@@ -34,6 +38,11 @@ distclean: clean
$(TESTS):
@mkdir -p $(RESULTS_DIR)
+
+ @for d in $(TESTS_DIR); do \
+ mkdir -p $(RESULTS_DIR)/$$d; \
+ done
+
@for i in $(IPVERS); do \
o=`echo $$i | sed -e 's/iproute2\///'`; \
echo -n "Running $@ [$$o/`uname -r`]: "; \
diff --git a/testsuite/tests/cls-testbed.t b/testsuite/tests/cls-testbed.t
index f5f99794..2afc26fc 100755
--- a/testsuite/tests/cls-testbed.t
+++ b/testsuite/tests/cls-testbed.t
@@ -13,7 +13,7 @@ fi
for q in ${QDISCS}; do
ts_log "Preparing classifier testbed with qdisc $q"
- for c in tests/cls/*.t; do
+ for c in tests/cls/*.c; do
case "$q" in
cbq)