mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
[lit] Ensure test output is converted to strings where possible.
- This cleans up the text output of failing tests when run under PY3. llvm-svn: 188416
This commit is contained in:
parent
c3ab3bb4bc
commit
038eff59f7
@ -198,6 +198,16 @@ def executeShCmd(cmd, cfg, cwd, results):
|
||||
if res == -signal.SIGINT:
|
||||
raise KeyboardInterrupt
|
||||
|
||||
# Ensure the resulting output is always of string type.
|
||||
try:
|
||||
out = str(out.decode('ascii'))
|
||||
except:
|
||||
out = str(out)
|
||||
try:
|
||||
err = str(err.decode('ascii'))
|
||||
except:
|
||||
err = str(err)
|
||||
|
||||
results.append((cmd.commands[i], out, err, res))
|
||||
if cmd.pipe_err:
|
||||
# Python treats the exit code as a signed char.
|
||||
|
@ -156,4 +156,14 @@ def executeCommand(command, cwd=None, env=None):
|
||||
if exitCode == -signal.SIGINT:
|
||||
raise KeyboardInterrupt
|
||||
|
||||
# Ensure the resulting output is always of string type.
|
||||
try:
|
||||
out = str(out.decode('ascii'))
|
||||
except:
|
||||
out = str(out)
|
||||
try:
|
||||
err = str(err.decode('ascii'))
|
||||
except:
|
||||
err = str(err)
|
||||
|
||||
return out, err, exitCode
|
||||
|
@ -1,3 +1,5 @@
|
||||
# Run a command that fails with error on stdout.
|
||||
#
|
||||
# RUN: echo "line 1: failed test output on stdout"
|
||||
# RUN: echo "line 2: failed test output on stdout"
|
||||
# RUN: cat "does-not-exist"
|
||||
|
@ -0,0 +1,5 @@
|
||||
# Run a command that fails with error on stdout.
|
||||
#
|
||||
# RUN: %S/write-bad-encoding.sh
|
||||
# RUN: false
|
||||
|
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "a line with bad encoding: Â."
|
@ -1 +1,2 @@
|
||||
# RUN: printf "line 1: failed test output on stdout\nline 2: failed test output on stdout"
|
||||
# RUN: false
|
||||
|
@ -8,14 +8,41 @@
|
||||
# CHECK: -- Testing:
|
||||
|
||||
# CHECK: FAIL: shtest-format :: external_shell/fail.txt
|
||||
# CHECK: *** TEST 'shtest-format :: external_shell/fail.txt' FAILED ***
|
||||
# CHECK-NEXT: *** TEST 'shtest-format :: external_shell/fail.txt' FAILED ***
|
||||
# CHECK: Command Output (stdout):
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: line 1: failed test output on stdout
|
||||
# CHECK-NEXT: line 2: failed test output on stdout
|
||||
# CHECK: Command Output (stderr):
|
||||
# CHECK: cat: does-not-exist: No such file or directory
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: cat: does-not-exist: No such file or directory
|
||||
# CHECK: --
|
||||
|
||||
# CHECK: FAIL: shtest-format :: external_shell/fail_with_bad_encoding.txt
|
||||
# CHECK-NEXT: *** TEST 'shtest-format :: external_shell/fail_with_bad_encoding.txt' FAILED ***
|
||||
# CHECK: Command Output (stdout):
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: a line with bad encoding:
|
||||
# CHECK: --
|
||||
|
||||
# CHECK: PASS: shtest-format :: external_shell/pass.txt
|
||||
|
||||
# CHECK: FAIL: shtest-format :: fail.txt
|
||||
# CHECK-NEXT: *** TEST 'shtest-format :: fail.txt' FAILED ***
|
||||
# CHECK-NEXT: Script:
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: printf "line 1
|
||||
# CHECK-NEXT: false
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: Exit Code: 1
|
||||
#
|
||||
# CHECK: Command Output (stdout):
|
||||
# CHECK-NEXT: --
|
||||
# CHECK-NEXT: Command 0: "printf"
|
||||
# CHECK-NEXT: Command 0 Result: 0
|
||||
# CHECK-NEXT: Command 0 Output:
|
||||
# CHECK-NEXT: line 1: failed test output on stdout
|
||||
# CHECK-NEXT: line 2: failed test output on stdout
|
||||
|
||||
# CHECK: UNRESOLVED: shtest-format :: no-test-line.txt
|
||||
# CHECK: PASS: shtest-format :: pass.txt
|
||||
@ -31,8 +58,9 @@
|
||||
# CHECK: Unexpected Passing Tests (1)
|
||||
# CHECK: shtest-format :: xpass.txt
|
||||
|
||||
# CHECK: Failing Tests (2)
|
||||
# CHECK: Failing Tests (3)
|
||||
# CHECK: shtest-format :: external_shell/fail.txt
|
||||
# CHECK: shtest-format :: external_shell/fail_with_bad_encoding.txt
|
||||
# CHECK: shtest-format :: fail.txt
|
||||
|
||||
# CHECK: Expected Passes : 3
|
||||
@ -40,4 +68,4 @@
|
||||
# CHECK: Unsupported Tests : 2
|
||||
# CHECK: Unresolved Tests : 1
|
||||
# CHECK: Unexpected Passes : 1
|
||||
# CHECK: Unexpected Failures: 2
|
||||
# CHECK: Unexpected Failures: 3
|
||||
|
Loading…
Reference in New Issue
Block a user