[clang-tidy] Fix performance-noexcept-move-constructor-fix test on non-English locale
authorAlexandre Ganea <alexandre.ganea@ubisoft.com>
Thu, 13 Feb 2020 19:46:30 +0000 (14:46 -0500)
committerAlexandre Ganea <alexandre.ganea@ubisoft.com>
Thu, 13 Feb 2020 19:46:44 +0000 (14:46 -0500)
When running on Windows under the following locale:

D:\llvm-project>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getlocale()
('French_Canada', '1252')

This patch fixes the following issue:

# command stderr:
Traceback (most recent call last):
  File "D:/llvm-project/clang-tools-extra/test/../test\clang-tidy\check_clang_tidy.py", line 249, in <module>
    main()
  File "D:/llvm-project/clang-tools-extra/test/../test\clang-tidy\check_clang_tidy.py", line 245, in main
    run_test_once(args, extra_args)
  File "D:/llvm-project/clang-tools-extra/test/../test\clang-tidy\check_clang_tidy.py", line 162, in run_test_once
    diff_output.decode() +
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 2050: invalid continuation byte
This is caused by diff reporting no EOL on the last line, and unfortunately this is written in French with accentuation on my locale.

Differential Revision: https://reviews.llvm.org/D74498

clang-tools-extra/test/clang-tidy/check_clang_tidy.py

index 368b674..8567c18 100755 (executable)
@@ -159,7 +159,7 @@ def run_test_once(args, extra_args):
     diff_output = e.output
 
   print('------------------------------ Fixes -----------------------------\n' +
-        diff_output.decode() +
+        diff_output.decode(errors='ignore') +
         '\n------------------------------------------------------------------')
 
   if has_check_fixes: