tests: Add an 'llvm-lit' tool (script), which gets generated as part of the
authorDaniel Dunbar <daniel@zuster.org>
Mon, 2 Aug 2010 00:39:42 +0000 (00:39 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 2 Aug 2010 00:39:42 +0000 (00:39 +0000)
build and has the object build directory baked into it. This allows 'llvm-lit'
to properly find the information needed to run the test suite in all cases,
without requiring the user to have LLVM or 'lit' available in their PATH, for
example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110000 91177308-0d34-0410-b5e6-96231b3b80d8

utils/Makefile
utils/llvm-lit/Makefile [new file with mode: 0644]
utils/llvm-lit/llvm-lit.in [new file with mode: 0644]

index 000705ead23556f6640e059b7c9996e63308b165..0d5cd28b61a36b891557bec137e28bac4a725c15 100644 (file)
@@ -8,7 +8,8 @@
 ##===----------------------------------------------------------------------===##
 
 LEVEL = ..
-PARALLEL_DIRS := TableGen fpcmp PerfectShuffle FileCheck FileUpdate count not unittest
+PARALLEL_DIRS := FileCheck FileUpdate TableGen PerfectShuffle \
+             count fpcmp llvm-lit not unittest
 
 EXTRA_DIST := cgiplotNLT.pl check-each-file codegen-diff countloc.sh cvsupdate \
               DSAclean.py DSAextract.py emacs findsym.pl GenLibDeps.pl \
diff --git a/utils/llvm-lit/Makefile b/utils/llvm-lit/Makefile
new file mode 100644 (file)
index 0000000..3b96809
--- /dev/null
@@ -0,0 +1,21 @@
+##===- utils/llvm-lit/Makefile -----------------------------*- Makefile -*-===##
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===----------------------------------------------------------------------===##
+
+LEVEL = ../..
+
+include $(LEVEL)/Makefile.common
+
+all:: $(ToolDir)/llvm-lit
+
+$(ToolDir)/llvm-lit: llvm-lit.in $(ObjDir)/.dir
+       $(Echo) "Creating 'llvm-lit' script..."
+       $(Verb)sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \
+            -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \
+            $< > $@
+       $(Verb)chmod +x $@
diff --git a/utils/llvm-lit/llvm-lit.in b/utils/llvm-lit/llvm-lit.in
new file mode 100644 (file)
index 0000000..3ff2c24
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+# Variables configured at build time.
+llvm_source_root = "@LLVM_SOURCE_DIR@"
+llvm_obj_root = "@LLVM_BINARY_DIR@"
+
+# Make sure we can find the lit package.
+sys.path.append(os.path.join(llvm_source_root, 'utils', 'lit'))
+
+# Set up some builtin parameters, so that by default the LLVM test suite
+# configuration file knows how to find the object tree.
+builtin_parameters = {
+    'llvm_site_config' : os.path.join(llvm_obj_root, 'test', 'lit.site.cfg')
+    }
+
+if __name__=='__main__':
+    import lit
+    lit.main(builtin_parameters)