[llvm] r374665 - [lit] Try yet again to fix new tests that fail on Windows bots
Joel E. Denny via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 12 09:00:35 PDT 2019
Author: jdenny
Date: Sat Oct 12 09:00:35 2019
New Revision: 374665
URL: http://llvm.org/viewvc/llvm-project?rev=374665&view=rev
Log:
[lit] Try yet again to fix new tests that fail on Windows bots
I seem to have misread the bot logs on my last attempt. When lit's
internal diff runs on Windows under Python 2.7, it's text diffs not
binary diffs that need decoding to avoid this error when writing the
diff to stdout:
```
UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-8: ordinal not in range(128)
```
There is no `decode` attribute in this case under Python 3.6.8 under
Ubuntu, so this patch checks for the `decode` attribute before using
it here. Hopefully nothing else is needed when `decode` isn't
available.
It might take a couple more attempts to figure out what error
handling, if any, is needed for this decoding.
Modified:
llvm/trunk/utils/lit/lit/builtin_commands/diff.py
Modified: llvm/trunk/utils/lit/lit/builtin_commands/diff.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/builtin_commands/diff.py?rev=374665&r1=374664&r2=374665&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/builtin_commands/diff.py (original)
+++ llvm/trunk/utils/lit/lit/builtin_commands/diff.py Sat Oct 12 09:00:35 2019
@@ -95,6 +95,9 @@ def compareTwoTextFiles(flags, filepaths
func = difflib.unified_diff if flags.unified_diff else difflib.context_diff
for diff in func(filelines[0], filelines[1], filepaths[0], filepaths[1],
n = flags.num_context_lines):
+ if hasattr(diff, 'decode'):
+ # python 2.7
+ diff = diff.decode()
sys.stdout.write(diff)
exitCode = 1
return exitCode
More information about the llvm-commits
mailing list