67 lines
1.2 KiB
Makefile
67 lines
1.2 KiB
Makefile
#
|
|
# 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
|