##===- TEST.simple.Makefile -------------------------------*- Makefile -*--===## # # This test is used in conjunction with the llvm/utils/NightlyTest* stuff to # generate information about program status for the nightly report. # ##===----------------------------------------------------------------------===## CURDIR := $(shell cd .; pwd) PROGDIR := $(PROJ_SRC_ROOT) RELDIR := $(subst $(PROGDIR),,$(CURDIR)) REPORTS_TO_GEN := compile exec REPORTS_SUFFIX := $(addsuffix .report.txt, $(REPORTS_TO_GEN)) #$(PROGRAMS_TO_TEST:%=Output/%.simple.compile.report.txt): \ #Output/%.simple.compile.report.txt: Output/%.out-simple # @echo > $@ # @printf "TEST-RESULT-compile-time: " >> $@ # -grep "^program" Output/$*.simple.compile.time >> $@ $(PROGRAMS_TO_TEST:%=Output/%.simple.compile.report.txt): \ Output/%.simple.compile.report.txt: Output/%.out-simple Output/%.simple-hash @echo > $@ @-if test -f Output/$*.simple; then \ echo "TEST-PASS: compile $(RELDIR)/$*" >> $@; \ echo "TEST-RESULT-compile-success: pass" >> $@;\ echo "TEST-RESULT-compile-hash: `cat Output/$*.simple-hash`" >> $@;\ else \ echo "TEST-FAIL: compile $(RELDIR)/$*" >> $@; \ fi @-printf "TEST-RESULT-compile-time: " >> $@ @-grep "^user" Output/$*.simple.compile.time >> $@ @-printf "TEST-RESULT-compile-real-time: " >> $@ @-grep "^real" Output/$*.simple.compile.time >> $@ $(PROGRAMS_TO_TEST:%=Output/%.simple.exec.report.txt): \ Output/%.simple.exec.report.txt: Output/%.exe-simple @echo > $@ @-is_xfail=0; \ for i in $(EXEC_XFAILS); do \ if test "$*" = $$i; then \ is_xfail=1; \ fi; \ done; \ if test $$is_xfail -eq 1; then \ echo "TEST-XFAIL: exec $(RELDIR)/$*" >> $@;\ echo "TEST-RESULT-exec-success: xfail" >> $@;\ elif test -f Output/$*.exe-simple; then \ echo "TEST-PASS: exec $(RELDIR)/$*" >> $@;\ echo "TEST-RESULT-exec-success: pass" >> $@;\ else \ echo "TEST-FAIL: exec $(RELDIR)/$*" >> $@;\ fi @-printf "TEST-RESULT-exec-time: " >> $@ @-grep "^user" Output/$*.out-simple.time >> $@ @-printf "TEST-RESULT-exec-real-time: " >> $@ @-grep "^real" Output/$*.out-simple.time >> $@ if test -f Output/$*.extra-results.txt; then \ $(PROGDIR)/ParseMultipleResults $(RELDIR)/$* Output/$*.extra-results.txt >> $@; \ fi # Overall tests: just run subordinate tests $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \ Output/%.$(TEST).report.txt: $(addprefix Output/%.simple., $(REPORTS_SUFFIX)) $(VERB) $(RM) -f $@ @echo "---------------------------------------------------------------" >> $@ @echo ">>> ========= '$(RELDIR)/$*' Program" >> $@ @echo "---------------------------------------------------------------" >> $@ -cat $(addprefix Output/$*.simple., $(REPORTS_SUFFIX)) >> $@ $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \ test.$(TEST).%: Output/%.$(TEST).report.txt @-cat $< $(PROGRAMS_TO_TEST:%=build.$(TEST).%): \ build.$(TEST).%: Output/%.simple @echo "Finished Building: $<"