2001-11-05 00:22:16 +00:00
|
|
|
LEVEL = ..
|
2003-09-06 15:12:21 +00:00
|
|
|
DIRS = Programs
|
2002-03-18 04:05:26 +00:00
|
|
|
include Makefile.tests
|
2002-01-23 21:36:59 +00:00
|
|
|
|
2003-09-06 15:12:21 +00:00
|
|
|
#
|
|
|
|
# Make QMTest the default for testing features and regressions
|
|
|
|
#
|
|
|
|
all:: qmtest
|
|
|
|
|
2003-08-21 15:09:29 +00:00
|
|
|
#
|
|
|
|
# New QMTest functionality:
|
|
|
|
# The test suite is being transitioned over to QMTest. Eventually, it
|
|
|
|
# will use QMTest by default.
|
|
|
|
#
|
|
|
|
|
|
|
|
# QMTest option specifying the location of the QMTest database.
|
|
|
|
QMDB= -D $(LLVM_SRC_ROOT)/test/QMTestDB
|
|
|
|
|
|
|
|
#
|
|
|
|
# This is configuration information used by the test suite. In QM Test, it's
|
|
|
|
# called a 'context.'
|
|
|
|
#
|
|
|
|
CONTEXT= -c srcroot=$(LLVM_SRC_ROOT) \
|
|
|
|
-c buildroot=$(LLVM_OBJ_ROOT) \
|
2003-09-06 15:12:21 +00:00
|
|
|
-c buildtype=$(CONFIGURATION) \
|
2003-08-21 15:09:29 +00:00
|
|
|
-c tmpdir=$(LLVM_OBJ_ROOT)/test/tmp \
|
2003-09-06 15:12:21 +00:00
|
|
|
-c coresize=0 \
|
|
|
|
-c cc=$(CC) \
|
|
|
|
-c cxx=$(CXX) \
|
|
|
|
-c "llvmgcc=$(LLVMGCC)" \
|
|
|
|
-c make=$(MAKE)
|
2003-08-21 15:09:29 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Location of the QMTest program.
|
|
|
|
#
|
|
|
|
QMTEST= qmtest $(QMDB)
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Execute the tests
|
|
|
|
#
|
|
|
|
qmtest:: $(LLVM_OBJ_ROOT)/test/tmp register
|
|
|
|
$(QMTEST) run -O $(LLVM_SRC_ROOT)/test/QMTestDB/expectations.qmr $(CONTEXT)
|
|
|
|
|
2003-09-08 21:25:35 +00:00
|
|
|
%.t:: $(LLVM_OBJ_ROOT)/test/tmp register
|
|
|
|
$(QMTEST) run -O $(LLVM_SRC_ROOT)/test/QMTestDB/expectations.qmr $(CONTEXT) $*
|
2003-08-21 15:09:29 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Create the temporary directory used by the test suite.
|
|
|
|
#
|
|
|
|
$(LLVM_OBJ_ROOT)/test/tmp::
|
|
|
|
${MKDIR} $(LLVM_OBJ_ROOT)/test/tmp
|
|
|
|
|
|
|
|
#
|
2003-09-15 21:54:49 +00:00
|
|
|
# Right now, QMTest compiles the python test classes and put them into the
|
|
|
|
# source tree. Since Python bytecode is *not* cross-platform compatible (I
|
|
|
|
# think), we'll regenerate every time.
|
2003-08-21 15:09:29 +00:00
|
|
|
#
|
2003-09-15 21:54:49 +00:00
|
|
|
# Simultaneous builds won't work, but shared source trees will.
|
|
|
|
#
|
|
|
|
register:
|
2003-08-21 15:09:29 +00:00
|
|
|
$(QMTEST) register test llvm.TestAsmDisasm
|
|
|
|
$(QMTEST) register test llvm.AssembleTest
|
|
|
|
$(QMTEST) register test llvm.ConvertToCTest
|
|
|
|
$(QMTEST) register test llvm.LLToCTest
|
|
|
|
$(QMTEST) register test llvm.MachineCodeTest
|
|
|
|
$(QMTEST) register test llvm.AssemblyCodeTest
|
|
|
|
$(QMTEST) register test llvm.TestOptimizer
|
|
|
|
$(QMTEST) register test llvm.LLITest
|
|
|
|
$(QMTEST) register test llvm.TestRunner
|
|
|
|
$(QMTEST) register test llvm.VerifierTest
|
|
|
|
$(QMTEST) register test llvm.AnalyzeTest
|
|
|
|
$(QMTEST) register test llvm.CTest
|
|
|
|
$(QMTEST) register resource llvm.BytecodeResource
|
|
|
|
|