blob: a2c8a2d9c187738c5be7d3bc15c3c06d59516471 [file] [log] [blame]
shemminger150a5bc2005-06-23 20:18:38 +00001## -- Config --
2DEV := lo
vadimk9ecff682014-09-06 13:27:07 +03003PREFIX := sudo -E
4RESULTS_DIR := results
shemminger150a5bc2005-06-23 20:18:38 +00005## -- End Config --
6
vadimk14f88542014-10-10 09:27:19 +03007rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))
8
9TESTS := $(patsubst tests/%,%,$(call rwildcard,tests/,*.t))
10TESTS_DIR := $(dir $(TESTS))
11
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000012IPVERS := $(filter-out iproute2/Makefile,$(wildcard iproute2/*))
vadimkf2954312014-09-30 09:15:10 +030013
14ifneq (,$(wildcard /proc/config.gz))
15 KENV := $(shell cat /proc/config.gz | gunzip | grep ^CONFIG)
16endif
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000017
shemminger150a5bc2005-06-23 20:18:38 +000018.PHONY: compile listtests alltests configure $(TESTS)
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000019
shemminger150a5bc2005-06-23 20:18:38 +000020configure:
21 echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..;
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000022
shemminger150a5bc2005-06-23 20:18:38 +000023compile: configure
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000024 echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..;
25
26listtests:
27 @for t in $(TESTS); do \
28 echo "$$t"; \
29 done
30
31alltests: $(TESTS)
32
33clean:
Vadim Kochan4cec9db2015-01-15 18:59:22 +020034 @echo "Removing $(RESULTS_DIR) dir ..."
vadimk9ecff682014-09-06 13:27:07 +030035 @rm -rf $(RESULTS_DIR)
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000036
shemminger150a5bc2005-06-23 20:18:38 +000037distclean: clean
38 echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..;
39
Vadim Kochan4cec9db2015-01-15 18:59:22 +020040$(TESTS): clean
vadimk9ecff682014-09-06 13:27:07 +030041 @mkdir -p $(RESULTS_DIR)
vadimk14f88542014-10-10 09:27:19 +030042
43 @for d in $(TESTS_DIR); do \
44 mkdir -p $(RESULTS_DIR)/$$d; \
45 done
46
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000047 @for i in $(IPVERS); do \
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000048 o=`echo $$i | sed -e 's/iproute2\///'`; \
shemminger150a5bc2005-06-23 20:18:38 +000049 echo -n "Running $@ [$$o/`uname -r`]: "; \
50 TC="$$i/tc/tc" IP="$$i/ip/ip" DEV="$(DEV)" IPVER="$@" SNAME="$$i" \
vadimk9ecff682014-09-06 13:27:07 +030051 ERRF="$(RESULTS_DIR)/$@.$$o.err" $(KENV) $(PREFIX) tests/$@ > $(RESULTS_DIR)/$@.$$o.out; \
shemminger150a5bc2005-06-23 20:18:38 +000052 if [ "$$?" = "127" ]; then \
53 echo "SKIPPED"; \
vadimk9ecff682014-09-06 13:27:07 +030054 elif [ -e "$(RESULTS_DIR)/$@.$$o.err" ]; then \
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000055 echo "FAILED"; \
shemminger150a5bc2005-06-23 20:18:38 +000056 else \
57 echo "PASS"; \
58 fi; \
vadimk9ecff682014-09-06 13:27:07 +030059 dmesg > $(RESULTS_DIR)/$@.$$o.dmesg; \
net[shemminger]!shemminger82af5312005-01-17 23:27:05 +000060 done