# # mod_macro non regression tests # where is apache APA.dir = /tmp/apache # apache executable with mod macro loaded HTTPD = \ $(APA.dir)/bin/httpd \ -C 'LoadModule macro_module modules/mod_macro.so' \ -C "Define PWD $$PWD/conf" # default target .PHONY: default default: clean # run all non regression tests .PHONY: check check: check-out # result directory OUT = out out: mkdir $@ # test cases & results F.conf = $(wildcard conf/test*.conf) F.out = $(F.conf:conf/%.conf=$(OUT)/%.out) # run all tests .PHONY: run-test run-test: $(F.out) # generate & compare in a separate directory .PHONY: check-out check-out: out $(RM) out/*.out $(MAKE) OUT=out run-test diff -r out/ ref/ # generate & compare in the same directory .PHONY: check-ref check-ref: $(RM) ref/*.out $(MAKE) OUT=ref run-test svn diff ref/ # run one test case # filter output so that it is portable # use '|' sed separator because $PWD will contain plenty '/' $(OUT)/%.out: conf/%.conf { \ echo "# testing with $<" ; \ $(HTTPD) -f $$PWD/$< 2>&1 ; \ echo "# exit: $$?" ; \ } > $@.tmp ; \ sed -e "s|$$PWD|.|g" \ -e "s|^\[[\.a-zA-Z0-9 :]*\] ||" \ -e "s|\[pid [0-9]*:tid [0-9]*] ||" \ $@.tmp > $@ ; \ $(RM) $@.tmp # cleanup .PHONY: clean clean: $(RM) *~ $(RM) -r out