summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2013-08-29 02:52:10 +0000
committerDaniel Dunbar <daniel@zuster.org>2013-08-29 02:52:10 +0000
commitcb4bfb340941186a0e326e4b00a88a50a86b7ff0 (patch)
tree60abf37846e6e00450de4fc1664d005501b0aa06 /utils
parent4ac723b53f2eb69e604891853ca87d1e2b3ee788 (diff)
downloadllvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.tar.gz
llvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.tar.bz2
llvm-cb4bfb340941186a0e326e4b00a88a50a86b7ff0.tar.xz
[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')
-rw-r--r--utils/lit/lit/TestRunner.py5
-rw-r--r--utils/lit/tests/shtest-format.py3
2 files changed, 5 insertions, 3 deletions
diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py
index 120f89a21a..9752417998 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 1c23119e8b..751f0d7080 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