[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