tests: Add an 'llvm-lit' tool (script), which gets generated as part of the

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
This commit is contained in:
Daniel Dunbar 2010-08-02 00:39:42 +00:00
parent 6647033565
commit b7698a49c2
3 changed files with 44 additions and 1 deletions

View 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 \

21
utils/llvm-lit/Makefile Normal file
View File

@ -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 $@

View File

@ -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)