First draft of a parallelized test methodology. Improvements soon.

llvm-svn: 48391
This commit is contained in:
Gabor Greif 2008-03-15 07:26:41 +00:00
parent a7b3287760
commit 322f055e05
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
LEVEL = ../../..
include $(LEVEL)/Makefile.common
AWK = awk
TESTDIRS = CodeGen Lexer Preprocessor Parser Sema Analysis Serialization
# Only run rewriter tests on darwin.
ifeq ($(OS),Darwin)
TESTDIRS += Rewriter
endif
Makefile.tests:
@ echo '%.testresults: %' > $@
@ echo "^@ echo $$<" | tr "^" "\t" >> $@
@ echo "^@ PATH=$$PATH:$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts ./TestRunner.sh &< > &@" | tr "^&" '\t$$' >> $@
@ echo >> $@
@ echo "TESTS =" \\ >> $@
@ find $(TESTDIRS) \
\( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
| $(AWK) '{print " " $$0 ".testresults \\"}' >> $@
@ echo ' ' >> $@
@ echo >> $@
@ echo "all:: &(TESTS)" | tr "&" '$$' >> $@
@ echo >> $@
@ echo "report: &(TESTS)" | tr "&" '$$' >> $@
@ echo "^@ cat $$<" | tr "^&<" "\t$$^" >> $@
@ echo >> $@
@ echo "clean:" | tr "&" '$$' >> $@
@ echo "^@ rm -f &(TESTS)" | tr "^&<" "\t$$^" >> $@
@ echo >> $@
@ echo ".PHONY: all report clean" >> $@
# find $(TESTDIRS) \
# \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
# | $(AWK) '{print ".PHONY:", $$0 ".testresults"}' >> $@
all:: Makefile.tests
@ $(MAKE) -f $< clean
@ $(MAKE) -f $< all report
@ $(MAKE) -f $< clean
@ rm $<
.PHONY: all
.NOTPARALLEL: