From 14f8854fa3d64e7e572d9bac3716516415379f55 Mon Sep 17 00:00:00 2001 From: vadimk Date: Fri, 10 Oct 2014 09:27:19 +0300 Subject: 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 --- testsuite/Makefile | 11 ++++++++++- testsuite/tests/cls-testbed.t | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'testsuite') 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) -- cgit v1.2.3