mirror of
https://gitlab.com/TECHNOFAB/nixtest.git
synced 2025-12-15 19:43:54 +01:00
chore: use git-like patch/diff in junit output
This commit is contained in:
parent
9068477650
commit
8b5ac904db
4 changed files with 25 additions and 13 deletions
|
|
@ -6,6 +6,9 @@ import (
|
|||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/akedrou/textdiff"
|
||||
"github.com/akedrou/textdiff/myers"
|
||||
)
|
||||
|
||||
type JUnitReport struct {
|
||||
|
|
@ -85,12 +88,12 @@ func GenerateJUnitReport(name string, results Results) (string, error) {
|
|||
if result.Status == StatusFailure {
|
||||
suite.Failures++
|
||||
report.Failures++
|
||||
message := fmt.Sprintf(
|
||||
"Expected:\n%s\nGot:\n%s",
|
||||
PrefixLines(result.Expected),
|
||||
PrefixLines(result.Actual),
|
||||
)
|
||||
testCase.Failure = &message
|
||||
// FIXME: ComputeEdits deprecated
|
||||
edits := myers.ComputeEdits(result.Expected, result.Actual)
|
||||
diff := fmt.Sprint(textdiff.ToUnified("expected", "actual", result.Expected, edits, 3))
|
||||
// remove newline hint
|
||||
diff = strings.ReplaceAll(diff, "\\ No newline at end of file\n", "")
|
||||
testCase.Failure = &diff
|
||||
} else if result.Status == StatusError {
|
||||
suite.Errors++
|
||||
report.Errors++
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue