[PATCH] D63254: [lit] Fix UnicodeEncodeError when test commands contain non-ASCII chars

Michał Górny via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 14 06:28:41 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL363388: [lit] Fix UnicodeEncodeError when test commands contain non-ASCII chars (authored by mgorny, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D63254?vs=204557&id=204756#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63254/new/

https://reviews.llvm.org/D63254

Files:
  llvm/trunk/utils/lit/lit/TestRunner.py
  llvm/trunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txt
  llvm/trunk/utils/lit/tests/shtest-format.py


Index: llvm/trunk/utils/lit/tests/shtest-format.py
===================================================================
--- llvm/trunk/utils/lit/tests/shtest-format.py
+++ llvm/trunk/utils/lit/tests/shtest-format.py
@@ -80,7 +80,7 @@
 # CHECK: shtest-format :: external_shell/fail_with_bad_encoding.txt
 # CHECK: shtest-format :: fail.txt
 
-# CHECK: Expected Passes    : 7
+# CHECK: Expected Passes    : 8
 # CHECK: Expected Failures  : 4
 # CHECK: Unsupported Tests  : 5
 # CHECK: Unresolved Tests   : 3
@@ -90,7 +90,7 @@
 
 # XUNIT: <?xml version="1.0" encoding="UTF-8" ?>
 # XUNIT-NEXT: <testsuites>
-# XUNIT-NEXT: <testsuite name="shtest-format" tests="23" failures="7" skipped="5">
+# XUNIT-NEXT: <testsuite name="shtest-format" tests="24" failures="7" skipped="5">
 
 # XUNIT: <testcase classname="shtest-format.shtest-format" name="argv0.txt" time="{{[0-9]+\.[0-9]+}}"/>
 
Index: llvm/trunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txt
===================================================================
--- llvm/trunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txt
+++ llvm/trunk/utils/lit/tests/Inputs/shtest-format/external_shell/utf8_command.txt
@@ -0,0 +1,3 @@
+# Run a command including UTF-8 characters.
+#
+# RUN: echo £
Index: llvm/trunk/utils/lit/lit/TestRunner.py
===================================================================
--- llvm/trunk/utils/lit/lit/TestRunner.py
+++ llvm/trunk/utils/lit/lit/TestRunner.py
@@ -1133,9 +1133,12 @@
 
     # Write script file
     mode = 'w'
+    open_kwargs = {}
     if litConfig.isWindows and not isWin32CMDEXE:
-      mode += 'b'  # Avoid CRLFs when writing bash scripts.
-    f = open(script, mode)
+        mode += 'b'  # Avoid CRLFs when writing bash scripts.
+    elif sys.version_info > (3,0):
+        open_kwargs['encoding'] = 'utf-8'
+    f = open(script, mode, **open_kwargs)
     if isWin32CMDEXE:
         for i, ln in enumerate(commands):
             commands[i] = re.sub(kPdbgRegex, "echo '\\1' > nul && ", ln)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63254.204756.patch
Type: text/x-patch
Size: 2036 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190614/2898da14/attachment.bin>


More information about the llvm-commits mailing list