# will use QMTest by default.
#
-# List of the functioning QM Tests
-QMTESTS=feature \
- regression
-
# QMTest option specifying the location of the QMTest database.
-QMDB= -D $(LLVM_SRC_ROOT)/test/QMTestDB
+QMDB= -D $(LLVM_SRC_ROOT)/test
+QMCLASSES=$(LLVM_OBJ_ROOT)/test/QMTest
#
# This is configuration information used by the test suite. In QM Test, it's
-c cc=$(CC) \
-c cxx=$(CXX) \
-c "llvmgcc=$(LLVMGCC)" \
+ -c "llvmgxx=$(LLVMGXX)" \
-c make=$(MAKE)
#
# Location of the QMTest program.
#
-QMTEST= qmtest $(QMDB)
+QMTEST= QMTEST_CLASS_PATH=$(QMCLASSES) qmtest $(QMDB)
#
# Execute the tests
#
qmtest:: $(LLVM_OBJ_ROOT)/test/tmp register
- $(QMTEST) run -O $(LLVM_SRC_ROOT)/test/QMTestDB/expectations.qmr $(CONTEXT)
+ $(QMTEST) run -O $(LLVM_SRC_ROOT)/test/QMTest/expectations.qmr $(CONTEXT)
+%.t:: $(LLVM_OBJ_ROOT)/test/tmp register
+ $(QMTEST) run -O $(LLVM_SRC_ROOT)/test/QMTest/expectations.qmr $(CONTEXT) $*
#
# Create the temporary directory used by the test suite.
${MKDIR} $(LLVM_OBJ_ROOT)/test/tmp
#
-# Register the python code with QMTest
+# 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.
#
-register:: $(LLVM_SRC_ROOT)/test/QMTestDB/QMTest/llvm.pyo
-
-$(LLVM_SRC_ROOT)/test/QMTestDB/QMTest/llvm.pyo: $(LLVM_SRC_ROOT)/test/QMTestDB/QMTest/llvm.py
+# Simultaneous builds won't work, but shared source trees will.
+#
+register:
$(QMTEST) register test llvm.TestAsmDisasm
$(QMTEST) register test llvm.AssembleTest
$(QMTEST) register test llvm.ConvertToCTest
$(QMTEST) register test llvm.VerifierTest
$(QMTEST) register test llvm.AnalyzeTest
$(QMTEST) register test llvm.CTest
+ $(QMTEST) register test llvm.CXXTest
+ $(QMTEST) register database llvmdb.llvmdb
$(QMTEST) register resource llvm.BytecodeResource
+#
+# Start up the QMTest GUI
+#
+gui::
+ $(QMTEST) gui --no-browser --daemon
+