test/lit.cfg: Add PATHEXT to 'substitution', to recognize tools on Windows hosts. Thanks to Danil Malyshev!
Some tests on Windows use the "not" utility and fail with an error "program not executable". The reason for this error is that the name of the executable file sended to the "not" without the extension. llvm-svn: 126383
This commit is contained in:
parent
47481b9754
commit
cb1b5ff9c6
|
@ -175,6 +175,10 @@ for sub in ['llvmgcc', 'llvmgxx', 'emitir', 'compile_cxx', 'compile_c',
|
|||
# (llvm_tools_dir in lit parlance).
|
||||
# Don't match 'bugpoint-' or 'clang-'.
|
||||
# Don't match '/clang'.
|
||||
if os.pathsep == ';':
|
||||
pathext = os.environ.get('PATHEXT', '').split(';')
|
||||
else:
|
||||
pathext = ['']
|
||||
for pattern in [r"\bbugpoint\b(?!-)", r"(?<!/)\bclang\b(?!-)",
|
||||
r"\bgold\b",
|
||||
r"\bllc\b", r"\blli\b",
|
||||
|
@ -204,6 +208,11 @@ for pattern in [r"\bbugpoint\b(?!-)", r"(?<!/)\bclang\b(?!-)",
|
|||
substitution = re.sub(r"^(\\)?((\| )?)\W+b([0-9A-Za-z-_]+)\\b\W*$",
|
||||
r"\2" + llvm_tools_dir + "/" + r"\4",
|
||||
pattern)
|
||||
for ext in pathext:
|
||||
substitution_ext = substitution + ext
|
||||
if os.path.exists(substitution_ext):
|
||||
substitution = substitution_ext
|
||||
break
|
||||
config.substitutions.append((pattern, substitution))
|
||||
|
||||
excludes = []
|
||||
|
|
Loading…
Reference in New Issue