mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
[lit] Prevent hang when lit sees non-ASCII characters
As per discussion in D69207, have lit ignore UnicodeDecodeErrors when running with python 2 in an ASCII shell. Differential Revision: https://reviews.llvm.org/D82754
This commit is contained in:
parent
25adca40ab
commit
3d5f62147e
@ -86,7 +86,10 @@ class Display(object):
|
||||
errors="replace")
|
||||
except UnicodeDecodeError:
|
||||
pass
|
||||
out = out.decode(encoding=sys.stdout.encoding)
|
||||
# Python 2 can raise UnicodeDecodeError here too in cases
|
||||
# where the stdout encoding is ASCII. Ignore decode errors
|
||||
# in this case.
|
||||
out = out.decode(encoding=sys.stdout.encoding, errors="ignore")
|
||||
print(out)
|
||||
print("*" * 20)
|
||||
|
||||
|
@ -6,6 +6,14 @@
|
||||
# RUN: cat %t.out
|
||||
# RUN: FileCheck --input-file %t.out %s
|
||||
#
|
||||
# Test again in non-UTF shell to catch potential errors with python 2 seen
|
||||
# on stdout-encoding.txt
|
||||
# RUN: env PYTHONIOENCODING=ascii not %{lit} -j 1 -a %{inputs}/shtest-shell > %t.ascii.out
|
||||
# FIXME: Temporarily dump test output so we can debug failing tests on
|
||||
# buildbots.
|
||||
# RUN: cat %t.ascii.out
|
||||
# RUN: FileCheck --input-file %t.ascii.out %s
|
||||
#
|
||||
# END.
|
||||
|
||||
# CHECK: -- Testing:
|
||||
@ -64,7 +72,7 @@
|
||||
# CHECK-NEXT: @@
|
||||
# CHECK-NEXT: {{^ .f.o.o.$}}
|
||||
# CHECK-NEXT: {{^-.b.a.r.$}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r.}}
|
||||
# CHECK-NEXT: {{^ .b.a.z.$}}
|
||||
# CHECK: error: command failed with exit status: 1
|
||||
# CHECK: $ "true"
|
||||
@ -78,7 +86,7 @@
|
||||
# CHECK-NEXT: -bar
|
||||
# CHECK-NEXT: -baz
|
||||
# CHECK-NEXT: {{^\+.f.o.o.$}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r.}}
|
||||
# CHECK-NEXT: {{^\+.b.a.z.$}}
|
||||
# CHECK: error: command failed with exit status: 1
|
||||
# CHECK: $ "true"
|
||||
@ -89,7 +97,7 @@
|
||||
# CHECK-NEXT: +++
|
||||
# CHECK-NEXT: @@
|
||||
# CHECK-NEXT: {{^\-.f.o.o.$}}
|
||||
# CHECK-NEXT: {{^\-.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\-.b.a.r.}}
|
||||
# CHECK-NEXT: {{^\-.b.a.z.$}}
|
||||
# CHECK-NEXT: +foo
|
||||
# CHECK-NEXT: +bar
|
||||
@ -116,7 +124,7 @@
|
||||
# CHECK-NEXT: @@
|
||||
# CHECK-NEXT: {{^ .f.o.o.$}}
|
||||
# CHECK-NEXT: {{^-.b.a.r.$}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r.}}
|
||||
# CHECK-NEXT: {{^ .b.a.z.$}}
|
||||
# CHECK: error: command failed with exit status: 1
|
||||
# CHECK: $ "true"
|
||||
@ -132,7 +140,7 @@
|
||||
# CHECK-NEXT: -bar
|
||||
# CHECK-NEXT: -baz
|
||||
# CHECK-NEXT: {{^\+.f.o.o.$}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\+.b.a.r.}}
|
||||
# CHECK-NEXT: {{^\+.b.a.z.$}}
|
||||
# CHECK: error: command failed with exit status: 1
|
||||
# CHECK: $ "true"
|
||||
@ -143,7 +151,7 @@
|
||||
# CHECK-NEXT: +++
|
||||
# CHECK-NEXT: @@
|
||||
# CHECK-NEXT: {{^\-.f.o.o.$}}
|
||||
# CHECK-NEXT: {{^\-.b.a.r..}}
|
||||
# CHECK-NEXT: {{^\-.b.a.r.}}
|
||||
# CHECK-NEXT: {{^\-.b.a.z.$}}
|
||||
# CHECK-NEXT: +foo
|
||||
# CHECK-NEXT: +bar
|
||||
@ -576,7 +584,7 @@
|
||||
# CHECK: $ "cat" "diff-in.bin"
|
||||
# CHECK: # command output:
|
||||
# CHECK-NEXT: {{^.f.o.o.$}}
|
||||
# CHECK-NEXT: {{^.b.a.r..}}
|
||||
# CHECK-NEXT: {{^.b.a.r.}}
|
||||
# CHECK-NEXT: {{^.b.a.z.$}}
|
||||
# CHECK-NOT: error
|
||||
# CHECK: $ "false"
|
||||
|
Loading…
Reference in New Issue
Block a user