shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 1 | ## -- Config -- |
| 2 | DEV := lo |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 3 | PREFIX := sudo -E |
| 4 | RESULTS_DIR := results |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 5 | ## -- End Config -- |
| 6 | |
vadimk | 14f8854 | 2014-10-10 09:27:19 +0300 | [diff] [blame] | 7 | rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2)) |
| 8 | |
| 9 | TESTS := $(patsubst tests/%,%,$(call rwildcard,tests/,*.t)) |
| 10 | TESTS_DIR := $(dir $(TESTS)) |
| 11 | |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 12 | IPVERS := $(filter-out iproute2/Makefile,$(wildcard iproute2/*)) |
vadimk | f295431 | 2014-09-30 09:15:10 +0300 | [diff] [blame] | 13 | |
| 14 | ifneq (,$(wildcard /proc/config.gz)) |
| 15 | KENV := $(shell cat /proc/config.gz | gunzip | grep ^CONFIG) |
| 16 | endif |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 17 | |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 18 | .PHONY: compile listtests alltests configure $(TESTS) |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 19 | |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 20 | configure: |
| 21 | echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..; |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 22 | |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 23 | compile: configure |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 24 | echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..; |
| 25 | |
| 26 | listtests: |
| 27 | @for t in $(TESTS); do \ |
| 28 | echo "$$t"; \ |
| 29 | done |
| 30 | |
| 31 | alltests: $(TESTS) |
| 32 | |
| 33 | clean: |
Vadim Kochan | 4cec9db | 2015-01-15 18:59:22 +0200 | [diff] [blame] | 34 | @echo "Removing $(RESULTS_DIR) dir ..." |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 35 | @rm -rf $(RESULTS_DIR) |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 36 | |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 37 | distclean: clean |
| 38 | echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..; |
| 39 | |
Vadim Kochan | 4cec9db | 2015-01-15 18:59:22 +0200 | [diff] [blame] | 40 | $(TESTS): clean |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 41 | @mkdir -p $(RESULTS_DIR) |
vadimk | 14f8854 | 2014-10-10 09:27:19 +0300 | [diff] [blame] | 42 | |
| 43 | @for d in $(TESTS_DIR); do \ |
| 44 | mkdir -p $(RESULTS_DIR)/$$d; \ |
| 45 | done |
| 46 | |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 47 | @for i in $(IPVERS); do \ |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 48 | o=`echo $$i | sed -e 's/iproute2\///'`; \ |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 49 | echo -n "Running $@ [$$o/`uname -r`]: "; \ |
| 50 | TC="$$i/tc/tc" IP="$$i/ip/ip" DEV="$(DEV)" IPVER="$@" SNAME="$$i" \ |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 51 | ERRF="$(RESULTS_DIR)/$@.$$o.err" $(KENV) $(PREFIX) tests/$@ > $(RESULTS_DIR)/$@.$$o.out; \ |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 52 | if [ "$$?" = "127" ]; then \ |
| 53 | echo "SKIPPED"; \ |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 54 | elif [ -e "$(RESULTS_DIR)/$@.$$o.err" ]; then \ |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 55 | echo "FAILED"; \ |
shemminger | 150a5bc | 2005-06-23 20:18:38 +0000 | [diff] [blame] | 56 | else \ |
| 57 | echo "PASS"; \ |
| 58 | fi; \ |
vadimk | 9ecff68 | 2014-09-06 13:27:07 +0300 | [diff] [blame] | 59 | dmesg > $(RESULTS_DIR)/$@.$$o.dmesg; \ |
net[shemminger]!shemminger | 82af531 | 2005-01-17 23:27:05 +0000 | [diff] [blame] | 60 | done |