From: Joel E. Denny Date: Sat, 12 Oct 2019 16:00:35 +0000 (+0000) Subject: [lit] Try yet again to fix new tests that fail on Windows bots X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a271acbf79326da83cab36a02938fc6cd5740b1b;p=platform%2Fupstream%2Fllvm.git [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. llvm-svn: 374665 --- diff --git a/llvm/utils/lit/lit/builtin_commands/diff.py b/llvm/utils/lit/lit/builtin_commands/diff.py index f413f87..ee933d8 100644 --- a/llvm/utils/lit/lit/builtin_commands/diff.py +++ b/llvm/utils/lit/lit/builtin_commands/diff.py @@ -95,6 +95,9 @@ def compareTwoTextFiles(flags, filepaths, filelines_bin, encoding): 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