зеркало из https://github.com/microsoft/clang-1.git
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
This commit is contained in:
Родитель
6c1fddf9f2
Коммит
6779647c89
|
@ -20,7 +20,10 @@ endif
|
||||||
|
|
||||||
all::
|
all::
|
||||||
@ echo '--- Running clang tests for $(TARGET_TRIPLE) ---'
|
@ 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::
|
clean::
|
||||||
@ rm -rf Output/
|
@ rm -rf Output/
|
||||||
|
|
|
@ -236,7 +236,7 @@ def main():
|
||||||
action="store_true", default=False)
|
action="store_true", default=False)
|
||||||
parser.add_option("", "--path", dest="path",
|
parser.add_option("", "--path", dest="path",
|
||||||
help="Additional paths to add to testing environment",
|
help="Additional paths to add to testing environment",
|
||||||
action="store", type=str, default=None)
|
action="append", type=str, default=[])
|
||||||
|
|
||||||
(opts, args) = parser.parse_args()
|
(opts, args) = parser.parse_args()
|
||||||
|
|
||||||
|
@ -246,6 +246,10 @@ def main():
|
||||||
parser.error('Support for running with valgrind is '
|
parser.error('Support for running with valgrind is '
|
||||||
'temporarily disabled')
|
'temporarily disabled')
|
||||||
|
|
||||||
|
# FIXME: Move into configuration object.
|
||||||
|
TestRunner.kChildEnv["PATH"] = os.pathsep.join(opts.path +
|
||||||
|
[TestRunner.kChildEnv['PATH']])
|
||||||
|
|
||||||
if opts.clang is None:
|
if opts.clang is None:
|
||||||
opts.clang = TestRunner.inferClang()
|
opts.clang = TestRunner.inferClang()
|
||||||
if opts.clangcc is None:
|
if opts.clangcc is None:
|
||||||
|
@ -266,9 +270,7 @@ def main():
|
||||||
random.shuffle(tests)
|
random.shuffle(tests)
|
||||||
if opts.maxTests is not None:
|
if opts.maxTests is not None:
|
||||||
tests = tests[:opts.maxTests]
|
tests = tests[:opts.maxTests]
|
||||||
if opts.path is not None:
|
|
||||||
os.environ["PATH"] = opts.path + ":" + os.environ["PATH"];
|
|
||||||
|
|
||||||
extra = ''
|
extra = ''
|
||||||
if len(tests) != len(allTests):
|
if len(tests) != len(allTests):
|
||||||
extra = ' of %d'%(len(allTests),)
|
extra = ' of %d'%(len(allTests),)
|
||||||
|
|
|
@ -142,8 +142,8 @@ def runOneTest(testPath, tmpBase, clang, clangcc):
|
||||||
|
|
||||||
if not ln.endswith('&&'):
|
if not ln.endswith('&&'):
|
||||||
return (TestStatus.Fail,
|
return (TestStatus.Fail,
|
||||||
"MISSING \'&&\': %s\n" +
|
("MISSING \'&&\': %s\n" +
|
||||||
"FOLLOWED BY : %s\n" % (ln,scriptLines[i + 1]))
|
"FOLLOWED BY : %s\n") % (ln, scriptLines[i + 1]))
|
||||||
|
|
||||||
# Strip off '&&'
|
# Strip off '&&'
|
||||||
scriptLines[i] = ln[:-2]
|
scriptLines[i] = ln[:-2]
|
||||||
|
@ -182,12 +182,14 @@ def capture(args):
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def which(command):
|
def which(command):
|
||||||
|
# FIXME: Take configuration object.
|
||||||
|
|
||||||
# Check for absolute match first.
|
# Check for absolute match first.
|
||||||
if os.path.exists(command):
|
if os.path.exists(command):
|
||||||
return command
|
return command
|
||||||
|
|
||||||
# Would be nice if Python had a lib function for this.
|
# Would be nice if Python had a lib function for this.
|
||||||
paths = os.environ.get('PATH')
|
paths = kChildEnv['PATH']
|
||||||
if not paths:
|
if not paths:
|
||||||
paths = os.defpath
|
paths = os.defpath
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче