From: vadimk Date: Fri, 10 Oct 2014 06:27:19 +0000 (+0300) Subject: tests: Allow to run tests recursively X-Git-Tag: v3.18.0~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14f8854fa3d64e7e572d9bac3716516415379f55;p=thirdparty%2Fiproute2.git 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 --- diff --git a/testsuite/Makefile b/testsuite/Makefile index d1bf359ab..2ba954737 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 f5f997942..2afc26fc9 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)