1dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat## -- Config --
2dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatDEV := lo
3dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatPREFIX := sudo
4dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat## -- End Config --
5dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
6dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatTESTS := $(patsubst tests/%,%,$(wildcard tests/*.t))
7dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatIPVERS := $(filter-out iproute2/Makefile,$(wildcard iproute2/*))
8dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San MehatKENV := $(shell cat /proc/config.gz | gunzip | grep ^CONFIG)
9dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
10dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat.PHONY: compile listtests alltests configure $(TESTS)
11dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
12dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatconfigure:
13dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..;
14dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
15dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatcompile: configure
16dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..;
17dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
18dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatlisttests:
19dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	@for t in $(TESTS); do \
20dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		echo "$$t"; \
21dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	done
22dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
23dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatalltests: $(TESTS)
24dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
25dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatclean:
26dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	@rm -rf results/*
27dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
28dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatdistclean: clean
29dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..;
30dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
31dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat$(TESTS):
32dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	@for i in $(IPVERS); do \
33dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		o=`echo $$i | sed -e 's/iproute2\///'`; \
34dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		echo -n "Running $@ [$$o/`uname -r`]: "; \
35dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		TC="$$i/tc/tc" IP="$$i/ip/ip" DEV="$(DEV)" IPVER="$@" SNAME="$$i" \
36dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		ERRF="results/$@.$$o.err" $(KENV) $(PREFIX) tests/$@ > results/$@.$$o.out; \
37dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		if [ "$$?" = "127" ]; then \
38dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat			echo "SKIPPED"; \
39dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		elif [ -e "results/$@.$$o.err" ]; then \
40dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat			echo "FAILED"; \
41dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		else \
42dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat			echo "PASS"; \
43dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		fi; \
44dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat		dmesg > results/$@.$$o.dmesg; \
45dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat	done
46