Print error text in <failure> tag content for more readable junit report (#2460)

This commit is contained in:
Donal Byrne 2022-01-05 09:17:33 +01:00 committed by GitHub
parent 63f150ead1
commit eaed228d2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@ package printers
import (
"context"
"encoding/xml"
"fmt"
"io"
"strings"
@ -31,6 +32,7 @@ type testCaseXML struct {
type failureXML struct {
Message string `xml:"message,attr"`
Type string `xml:"type,attr"`
Content string `xml:",cdata"`
}
@ -57,8 +59,10 @@ func (p JunitXML) Print(ctx context.Context, issues []result.Issue) error {
Name: i.FromLinter,
ClassName: i.Pos.String(),
Failure: failureXML{
Message: i.Text,
Content: strings.Join(i.SourceLines, "\n"),
Type: i.Severity,
Message: i.Pos.String() + ": " + i.Text,
Content: fmt.Sprintf("%s: %s\nCategory: %s\nFile: %s\nLine: %d\nDetails: %s",
i.Severity, i.Text, i.FromLinter, i.Pos.Filename, i.Pos.Line, strings.Join(i.SourceLines, "\n")),
},
}