summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Liew <dan@su-root.co.uk>2015-11-19 11:35:42 +0000
committerDan Liew <dan@su-root.co.uk>2015-11-19 11:35:42 +0000
commit26da45c2bb0c44499583b14be04bc506df439f0a (patch)
tree575ddccb735714b008b628d50c28499599478248
parent9bf1528573de62c150c9a80c5102c1184b704169 (diff)
downloadbcm5719-llvm-26da45c2bb0c44499583b14be04bc506df439f0a.tar.gz
bcm5719-llvm-26da45c2bb0c44499583b14be04bc506df439f0a.zip
[lit] Fix bug when using Python3 where a failing test would not show
the script when running a ShTest with an external or internal shell. This bug is caused by use of the ``map`` function in Python 3 which returns an iterable (rather than a list in Python 2). After the iterable is exhausted it won't return any more output and consequently when ``_runShTest()`` tries to access the ``script`` which has already been iterated over it is empty. Converting to a list immediatley after calling ``map()`` fixes this. This fixes the ``tests/shtest-format.py`` test when running under Python3 which was previously failing. llvm-svn: 253556
-rw-r--r--llvm/utils/lit/lit/TestRunner.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 19e2514f7c0..37e0dd35340 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -469,7 +469,9 @@ def applySubstitutions(script, substitutions):
# Strip the trailing newline and any extra whitespace.
return ln.strip()
- return map(processLine, script)
+ # Note Python 3 map() gives an iterator rather than a list so explicitly
+ # convert to list before returning.
+ return list(map(processLine, script))
def parseIntegratedTestScript(test, require_script=True):
"""parseIntegratedTestScript - Scan an LLVM/Clang style integrated test
OpenPOWER on IntegriCloud