From b7698a49c2a9e732fa02c7ebee98ca5c7173b5fc Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 2 Aug 2010 00:39:42 +0000 Subject: [PATCH] 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 --- utils/Makefile | 3 ++- utils/llvm-lit/Makefile | 21 +++++++++++++++++++++ utils/llvm-lit/llvm-lit.in | 21 +++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 utils/llvm-lit/Makefile create mode 100644 utils/llvm-lit/llvm-lit.in diff --git a/utils/Makefile b/utils/Makefile index 000705ead23..0d5cd28b61a 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -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 index 00000000000..3b96809c5ba --- /dev/null +++ b/utils/llvm-lit/Makefile @@ -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 index 00000000000..3ff2c2489c4 --- /dev/null +++ b/utils/llvm-lit/llvm-lit.in @@ -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)