From 29213b609b3284f91a12226d3e4fd6f429152c13 Mon Sep 17 00:00:00 2001 From: Marcus Deglos Date: Sat, 6 Sep 2025 13:13:40 +0100 Subject: [PATCH 1/3] Fix #962 - use the title for the jUnit test case name --- outputs/junit.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/outputs/junit.go b/outputs/junit.go index d50e3677..df33685b 100644 --- a/outputs/junit.go +++ b/outputs/junit.go @@ -47,11 +47,16 @@ func (r JUnit) Output(w io.Writer, results <-chan []resource.TestResult, endTime = testResult.EndTime } duration := strconv.FormatFloat(testResult.Duration.Seconds(), 'f', 3, 64) - summary[testCount] = "\n" + testcaseName := fmt.Sprintf("%s %s %s", + testResult.ResourceType, + escapeString(testResult.ResourceId), + testResult.Property); + if (testResult.Title != "") { + testcaseName = testResult.Title; + } + summary[testCount] = "\n" if testResult.Result == resource.FAIL { summary[testCount] += "" + escapeString(humanizeResult(testResult, true, includeRaw)) + From 20333ca3e6c61762a3e736175d2960971c5c782e Mon Sep 17 00:00:00 2001 From: Marcus Deglos Date: Sat, 6 Sep 2025 13:18:30 +0100 Subject: [PATCH 2/3] Escape the test-case title provided in the config. --- outputs/junit.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/outputs/junit.go b/outputs/junit.go index df33685b..6c19def6 100644 --- a/outputs/junit.go +++ b/outputs/junit.go @@ -52,7 +52,7 @@ func (r JUnit) Output(w io.Writer, results <-chan []resource.TestResult, escapeString(testResult.ResourceId), testResult.Property); if (testResult.Title != "") { - testcaseName = testResult.Title; + testcaseName = escapeString(testResult.Title); } summary[testCount] = " Date: Sat, 6 Sep 2025 13:22:17 +0100 Subject: [PATCH 3/3] Refactor to use Sprintf for readabilitly. --- outputs/junit.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/outputs/junit.go b/outputs/junit.go index 6c19def6..2c36fcf2 100644 --- a/outputs/junit.go +++ b/outputs/junit.go @@ -54,9 +54,11 @@ func (r JUnit) Output(w io.Writer, results <-chan []resource.TestResult, if (testResult.Title != "") { testcaseName = escapeString(testResult.Title); } - summary[testCount] = "\n" + summary[testCount] = fmt.Sprintf("\n", + testcaseName, + duration, + ); + if testResult.Result == resource.FAIL { summary[testCount] += "" + escapeString(humanizeResult(testResult, true, includeRaw)) +