diff options
author | Daniel Dunbar <daniel@zuster.org> | 2013-08-29 02:52:10 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2013-08-29 02:52:10 +0000 |
commit | cb4bfb340941186a0e326e4b00a88a50a86b7ff0 (patch) | |
tree | 60abf37846e6e00450de4fc1664d005501b0aa06 /utils/lit | |
parent | 4ac723b53f2eb69e604891853ca87d1e2b3ee788 (diff) | |
download | external_llvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.zip external_llvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.tar.gz external_llvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.tar.bz2 |
[lit] Fix internal shell's argv[0] handling.
- At least on OS X, it is important for correct behavior of /bin/[ that argv[0]
is passed as written, and not as the full executable path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189559 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/lit')
-rw-r--r-- | utils/lit/lit/TestRunner.py | 5 | ||||
-rw-r--r-- | utils/lit/tests/shtest-format.py | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index 120f89a..9752417 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -131,8 +131,8 @@ def executeShCmd(cmd, cfg, cwd, results): # Resolve the executable path ourselves. args = list(j.args) - args[0] = lit.util.which(args[0], cfg.environment['PATH']) - if not args[0]: + executable = lit.util.which(args[0], cfg.environment['PATH']) + if not executable: raise InternalShellError(j, '%r: command not found' % j.args[0]) # Replace uses of /dev/null with temporary files. @@ -145,6 +145,7 @@ def executeShCmd(cmd, cfg, cwd, results): args[i] = f.name procs.append(subprocess.Popen(args, cwd=cwd, + executable = executable, stdin = stdin, stdout = stdout, stderr = stderr, diff --git a/utils/lit/tests/shtest-format.py b/utils/lit/tests/shtest-format.py index 1c23119..751f0d7 100644 --- a/utils/lit/tests/shtest-format.py +++ b/utils/lit/tests/shtest-format.py @@ -7,6 +7,7 @@ # CHECK: -- Testing: +# CHECK: PASS: shtest-format :: argv0.txt # CHECK: FAIL: shtest-format :: external_shell/fail.txt # CHECK-NEXT: *** TEST 'shtest-format :: external_shell/fail.txt' FAILED *** # CHECK: Command Output (stdout): @@ -68,7 +69,7 @@ # CHECK: shtest-format :: external_shell/fail_with_bad_encoding.txt # CHECK: shtest-format :: fail.txt -# CHECK: Expected Passes : 3 +# CHECK: Expected Passes : 4 # CHECK: Expected Failures : 3 # CHECK: Unsupported Tests : 2 # CHECK: Unresolved Tests : 1 |