This was affecting test/asan/TestCases/Windows/coverage-basic.cc in
compiler-rt. It does something like:
cd %T/mydir
%clang %s -o t.exe
./t.exe
Previously, we'd end up looking for t.exe relative to the cwd of the lit
process, not the cwd of the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242941
91177308-0d34-0410-b5e6-
96231b3b80d8
# Resolve the executable path ourselves.
args = list(j.args)
- executable = lit.util.which(args[0], cmd_shenv.env['PATH'])
+ executable = None
+ # For paths relative to cwd, use the cwd of the shell environment.
+ if args[0].startswith('.'):
+ exe_in_cwd = os.path.join(cmd_shenv.cwd, args[0])
+ if os.path.isfile(exe_in_cwd):
+ executable = exe_in_cwd
+ if not executable:
+ executable = lit.util.which(args[0], cmd_shenv.env['PATH'])
if not executable:
raise InternalShellError(j, '%r: command not found' % j.args[0])