aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-27 19:01:13 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-27 19:01:13 +0000
commit6779647c8922c60184873bacdc6743eba6b4942c (patch)
treecc453f54d8f1fb87b5006e109fe7048cd1ef9e7a
parent6c1fddf9f2186166daf524682681c6510b069774 (diff)
Tweak MultiTestRunner --path argument.
- Accept multiple values instead of embedding separator. - Make sure this gets used when searching for 'clang' binary. - Switch makefiles to using --path to stay in sync with cmake. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77234 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Makefile5
-rwxr-xr-xutils/test/MultiTestRunner.py10
-rwxr-xr-xutils/test/TestRunner.py8
3 files changed, 15 insertions, 8 deletions
diff --git a/test/Makefile b/test/Makefile
index d649174b71..97c9d27404 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -20,7 +20,10 @@ endif
all::
@ echo '--- Running clang tests for $(TARGET_TRIPLE) ---'
- @ PATH=$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts:$$PATH $(PROJ_SRC_DIR)/../utils/test/MultiTestRunner.py $(TESTARGS) $(TESTDIRS) $(VGARG)
+ @ $(PROJ_SRC_DIR)/../utils/test/MultiTestRunner.py \
+ --path $(ToolDir) \
+ --path $(LLVM_SRC_ROOT)/test/Scripts \
+ $(TESTARGS) $(TESTDIRS) $(VGARG)
clean::
@ rm -rf Output/
diff --git a/utils/test/MultiTestRunner.py b/utils/test/MultiTestRunner.py
index 04bd74f65d..8b48d8d6c7 100755
--- a/utils/test/MultiTestRunner.py
+++ b/utils/test/MultiTestRunner.py
@@ -236,7 +236,7 @@ def main():
action="store_true", default=False)
parser.add_option("", "--path", dest="path",
help="Additional paths to add to testing environment",
- action="store", type=str, default=None)
+ action="append", type=str, default=[])
(opts, args) = parser.parse_args()
@@ -246,6 +246,10 @@ def main():
parser.error('Support for running with valgrind is '
'temporarily disabled')
+ # FIXME: Move into configuration object.
+ TestRunner.kChildEnv["PATH"] = os.pathsep.join(opts.path +
+ [TestRunner.kChildEnv['PATH']])
+
if opts.clang is None:
opts.clang = TestRunner.inferClang()
if opts.clangcc is None:
@@ -266,9 +270,7 @@ def main():
random.shuffle(tests)
if opts.maxTests is not None:
tests = tests[:opts.maxTests]
- if opts.path is not None:
- os.environ["PATH"] = opts.path + ":" + os.environ["PATH"];
-
+
extra = ''
if len(tests) != len(allTests):
extra = ' of %d'%(len(allTests),)
diff --git a/utils/test/TestRunner.py b/utils/test/TestRunner.py
index 2059b51184..9aae55cede 100755
--- a/utils/test/TestRunner.py
+++ b/utils/test/TestRunner.py
@@ -142,8 +142,8 @@ def runOneTest(testPath, tmpBase, clang, clangcc):
if not ln.endswith('&&'):
return (TestStatus.Fail,
- "MISSING \'&&\': %s\n" +
- "FOLLOWED BY : %s\n" % (ln,scriptLines[i + 1]))
+ ("MISSING \'&&\': %s\n" +
+ "FOLLOWED BY : %s\n") % (ln, scriptLines[i + 1]))
# Strip off '&&'
scriptLines[i] = ln[:-2]
@@ -182,12 +182,14 @@ def capture(args):
return out
def which(command):
+ # FIXME: Take configuration object.
+
# Check for absolute match first.
if os.path.exists(command):
return command
# Would be nice if Python had a lib function for this.
- paths = os.environ.get('PATH')
+ paths = kChildEnv['PATH']
if not paths:
paths = os.defpath