Atlas › Test

TestGenerateJUnitReportForTimedoutTests

Exact test identity: go.temporal.io/server/tools/testrunner/TestGenerateJUnitReportForTimedoutTests

Package
go.temporal.io/server/tools/testrunner
Suite / test hierarchy
TestGenerateJUnitReportForTimedoutTests
Test
TestGenerateJUnitReportForTimedoutTests
Introduced at
junit.go ×1 Frontier kind: Joint frontier
Covered ranges
5
Covered lines
35
Covered files
1

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/tools/testrunner/junit.go 35 covered LOC · 5 ranges

Open complete file

56 // canonical failure type (for example TIMEOUT or CRASH), and Failure.Data is
57 // intentionally left empty.
58 > func generateReport(names []string, suffix string, kind failureType) *junitReport { junit.go
59 > var testcases []junit.Testcase
60 > for _, name := range names {
61 > testcases = append(testcases, junit.Testcase{
62 > Name: fmt.Sprintf("%s (%s)", name, suffix),
63 > Failure: generateFailure(kind, ""),
64 > })
65 > }
66 > return &junitReport{
67 > Testsuites: junit.Testsuites{
68 > Suites: []junit.Testsuite{
69 > {
70 > Name: "suite",
71 > Testcases: testcases,
72 > },
73 > },
74 > },
75 > }
76 }
77
78 > func generateFailure(kind failureType, data string) *junit.Result { junit.go
79 > return &junit.Result{
80 > Message: string(kind),
81 > Type: string(kind),
82 > Data: data,
83 > }
84 > }
85
86 > func (j *junitReport) write() error { junit.go
87 > f, err := os.Create(j.path)
88 > if err != nil {
89 return fmt.Errorf("failed to open junit report file: %w", err)
90 }
91 > defer f.Close() junit.go
92 >
93 > encoder := xml.NewEncoder(f)
94 > encoder.Indent("", " ")
95 > if err = encoder.Encode(j.Testsuites); err != nil {
96 return fmt.Errorf("failed to write junit report file: %w", err)
97 }
98 > log.Printf("wrote junit report to %s", j.path) junit.go
99 > return nil
100 }
101