diff --git a/cmd/prune-junit-xml/prunexml.go b/cmd/prune-junit-xml/prunexml.go
index b6c07d4e134..21d0b0fa312 100644
--- a/cmd/prune-junit-xml/prunexml.go
+++ b/cmd/prune-junit-xml/prunexml.go
@@ -135,6 +135,8 @@ func pruneTESTS(suites *junitxml.JUnitTestSuites) {
updatedTestcase.Classname = match[1]
updatedTestcase.Name = match[2]
updatedTestcase.Time = suite.Time
+ updatedSystemOut := ""
+ updatedSystemErr := ""
for _, testcase := range suite.TestCases {
// The top level testcase element in a JUnit xml file does not have the / character.
if testcase.Failure != nil {
@@ -142,10 +144,14 @@ func pruneTESTS(suites *junitxml.JUnitTestSuites) {
updatedTestcaseFailure.Message = joinTexts(updatedTestcaseFailure.Message, testcase.Failure.Message)
updatedTestcaseFailure.Contents = joinTexts(updatedTestcaseFailure.Contents, testcase.Failure.Contents)
updatedTestcaseFailure.Type = joinTexts(updatedTestcaseFailure.Type, testcase.Failure.Type)
+ updatedSystemOut = joinTexts(updatedSystemOut, testcase.SystemOut)
+ updatedSystemErr = joinTexts(updatedSystemErr, testcase.SystemErr)
}
}
if failflag {
updatedTestcase.Failure = &updatedTestcaseFailure
+ updatedTestcase.SystemOut = updatedSystemOut
+ updatedTestcase.SystemErr = updatedSystemErr
}
suite.TestCases = append(updatedTestcases, updatedTestcase)
updatedTestsuites = append(updatedTestsuites, suite)
diff --git a/cmd/prune-junit-xml/prunexml_test.go b/cmd/prune-junit-xml/prunexml_test.go
index 31f74ffaff6..3dde79a0691 100644
--- a/cmd/prune-junit-xml/prunexml_test.go
+++ b/cmd/prune-junit-xml/prunexml_test.go
@@ -100,7 +100,10 @@ func TestPruneTESTS(t *testing.T) {
-
+
+ out A
+ err B
+
FailureContentA
@@ -114,9 +117,13 @@ func TestPruneTESTS(t *testing.T) {
RUNNING TestWatchRestartsIfTimeoutNotReached/group/InformerWatcher_survives_closed_watchesA
expected foo, got bar
+ out A
+ err A
sub-test failed
+ out B
+ err B
sub-test failed
@@ -154,6 +161,8 @@ func TestPruneTESTS(t *testing.T) {
RUNNING TestWatchRestartsIfTimeoutNotReached/group/InformerWatcher_survives_closed_watchesA
expected foo, got bar
sub-test failed
+ out A
out B
+ err A
err B
`