diff options
| author | Dan Liew <dan@su-root.co.uk> | 2015-11-19 11:35:42 +0000 |
|---|---|---|
| committer | Dan Liew <dan@su-root.co.uk> | 2015-11-19 11:35:42 +0000 |
| commit | 26da45c2bb0c44499583b14be04bc506df439f0a (patch) | |
| tree | 575ddccb735714b008b628d50c28499599478248 | |
| parent | 9bf1528573de62c150c9a80c5102c1184b704169 (diff) | |
| download | bcm5719-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.py | 4 |
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 |

