-TESTS := $(patsubst tests/%,%,$(wildcard tests/*))
+## -- Config --
+DEV := lo
+PREFIX := sudo
+## -- End Config --
+
+TESTS := $(patsubst tests/%,%,$(wildcard tests/*.t))
IPVERS := $(filter-out iproute2/Makefile,$(wildcard iproute2/*))
+KENV := $(shell cat /proc/config.gz | gunzip | grep ^CONFIG)
-DEV := eth0
+.PHONY: compile listtests alltests configure $(TESTS)
-.PHONY: compile listtests alltests $(TESTS)
+configure:
+ echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..;
-compile:
+compile: configure
echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..;
listtests:
clean:
@rm -rf results/*
+distclean: clean
+ echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..;
+
$(TESTS):
@for i in $(IPVERS); do \
- echo -n "Running $@ with $$i on `uname -r`: "; \
- logger "TESTMARK: $@"; \
o=`echo $$i | sed -e 's/iproute2\///'`; \
- TC="$$i/tc/tc" IP="$$i/ip/ip" DEV="$(DEV)" sudo tests/$@ > results/$@.$$o.out 2> results/$@.$$o.err; \
- dmesg > results/$@.$$o.dmesg; \
- if [ -z "`cat results/$@.$$o.err`" ]; then \
- echo "PASS"; \
- else \
+ echo -n "Running $@ [$$o/`uname -r`]: "; \
+ TC="$$i/tc/tc" IP="$$i/ip/ip" DEV="$(DEV)" IPVER="$@" SNAME="$$i" \
+ ERRF="results/$@.$$o.err" $(KENV) $(PREFIX) tests/$@ > results/$@.$$o.out; \
+ if [ "$$?" = "127" ]; then \
+ echo "SKIPPED"; \
+ elif [ -e "results/$@.$$o.err" ]; then \
echo "FAILED"; \
- fi \
+ else \
+ echo "PASS"; \
+ fi; \
+ dmesg > results/$@.$$o.dmesg; \
done