mirror of
https://github.com/golang/go
synced 2024-11-19 15:44:44 -07:00
cmd/test2json: fix test log output containing test output
If test case framing appears in ordinary test output, then test2json can get confused. If the fake framing is being saved with t.Logf/t.Errorf/etc then we can already distinguish it from real framing, and the code did. It just forgot to write that framing as output (1-line fix). If the fake framing is being generated by printing directly to stdout/stderr, then test2json will simply get confused. There's not a lot to do at that point (maybe it's even a feature). Fixes #23036. Change-Id: I29449c7ace304172b89d8babe23de507c0500455 Reviewed-on: https://go-review.googlesource.com/86238 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
23e68d7651
commit
b32ac54620
@ -226,6 +226,7 @@ func (c *converter) handleInputLine(line []byte) {
|
||||
if len(c.report) < indent {
|
||||
// Nested deeper than expected.
|
||||
// Treat this line as plain output.
|
||||
c.output.write(origLine)
|
||||
return
|
||||
}
|
||||
// Flush reports at this indentation level or deeper.
|
||||
|
12
src/cmd/internal/test2json/testdata/issue23036.json
vendored
Normal file
12
src/cmd/internal/test2json/testdata/issue23036.json
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
{"Action":"run","Test":"TestActualCase"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":"=== RUN TestActualCase\n"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":"--- FAIL: TestActualCase (0.00s)\n"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":" foo_test.go:14: Differed.\n"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":" Expected: MyTest:\n"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":" --- FAIL: Test output from other tool\n"}
|
||||
{"Action":"output","Test":"TestActualCase","Output":" Actual: not expected\n"}
|
||||
{"Action":"fail","Test":"TestActualCase"}
|
||||
{"Action":"output","Output":"FAIL\n"}
|
||||
{"Action":"output","Output":"exit status 1\n"}
|
||||
{"Action":"output","Output":"FAIL github.com/org/project/badtest 0.049s\n"}
|
||||
{"Action":"fail"}
|
9
src/cmd/internal/test2json/testdata/issue23036.test
vendored
Normal file
9
src/cmd/internal/test2json/testdata/issue23036.test
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
=== RUN TestActualCase
|
||||
--- FAIL: TestActualCase (0.00s)
|
||||
foo_test.go:14: Differed.
|
||||
Expected: MyTest:
|
||||
--- FAIL: Test output from other tool
|
||||
Actual: not expected
|
||||
FAIL
|
||||
exit status 1
|
||||
FAIL github.com/org/project/badtest 0.049s
|
Loading…
Reference in New Issue
Block a user