aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-12-05 22:54:26 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-12-05 22:54:26 +0000
commit00fb9c429e4400f3daeb87e6fad9498d4c73862a (patch)
tree1e5aa0caa7806c412f54dbbf4e156f102c091cfd /utils
parentc4c14a7b4a14c30b4fc7b130eb003ea7e4449e41 (diff)
downloadexternal_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.zip
external_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.tar.gz
external_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.tar.bz2
PR10867. lit would interpret
RUN: a RUN: b || true as "a && (b || true)" in Tcl mode, and as "(a && b) || true" in sh mode. Everyone seems to (quite reasonably) write tests assuming the Tcl behavior, so use that in sh mode too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169441 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/lit/lit/TestRunner.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py
index e339652..fa4880a 100644
--- a/utils/lit/lit/TestRunner.py
+++ b/utils/lit/lit/TestRunner.py
@@ -241,11 +241,16 @@ def executeShCmd(cmd, cfg, cwd, results):
return exitCode
def executeScriptInternal(test, litConfig, tmpBase, commands, cwd):
- ln = ' &&\n'.join(commands)
- try:
- cmd = ShUtil.ShParser(ln, litConfig.isWindows).parse()
- except:
- return (Test.FAIL, "shell parser error on: %r" % ln)
+ cmds = []
+ for ln in commands:
+ try:
+ cmds.append(ShUtil.ShParser(ln, litConfig.isWindows).parse())
+ except:
+ return (Test.FAIL, "shell parser error on: %r" % ln)
+
+ cmd = cmds[0]
+ for c in cmds[1:]:
+ cmd = ShUtil.Seq(cmd, '&&', c)
results = []
try: