diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-27 19:01:13 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-27 19:01:13 +0000 |
commit | 6779647c8922c60184873bacdc6743eba6b4942c (patch) | |
tree | cc453f54d8f1fb87b5006e109fe7048cd1ef9e7a | |
parent | 6c1fddf9f2186166daf524682681c6510b069774 (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/Makefile | 5 | ||||
-rwxr-xr-x | utils/test/MultiTestRunner.py | 10 | ||||
-rwxr-xr-x | utils/test/TestRunner.py | 8 |
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 |