blob: bd2a6cb0fad98a9fa883cce195e83696a166a7bc [file] [log] [blame]
#
# 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