Skip to content

Commit 450aeef

Browse files
committed
chore: add support for 'pending' to all formatters
1 parent 969b18e commit 450aeef

5 files changed

Lines changed: 32 additions & 8 deletions

File tree

regresql/formatter_console.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ func (f *ConsoleFormatter) AddResult(r TestResult, w io.Writer) error {
4545
f.printWarnings(r.PlanWarnings, w)
4646
fmt.Fprintln(w)
4747

48+
case "pending":
49+
fmt.Fprintf(w, "? %s (%.2fs)\n", r.Name, r.Duration)
50+
if r.Error != "" {
51+
fmt.Fprintf(w, " %s\n", r.Error)
52+
}
53+
fmt.Fprintln(w)
54+
4855
case "skipped":
4956
return nil
5057
}
@@ -224,11 +231,14 @@ func (f *ConsoleFormatter) printWarnings(warnings []PlanWarning, w io.Writer) {
224231

225232
func (f *ConsoleFormatter) Finish(s *TestSummary, w io.Writer) error {
226233
fmt.Fprintln(w)
227-
if s.Failed > 0 || s.Skipped > 0 {
234+
if s.Failed > 0 || s.Skipped > 0 || s.Pending > 0 {
228235
fmt.Fprintf(w, "Results: %d passed, %d failed", s.Passed, s.Failed)
229236
if s.Skipped > 0 {
230237
fmt.Fprintf(w, ", %d skipped", s.Skipped)
231238
}
239+
if s.Pending > 0 {
240+
fmt.Fprintf(w, ", %d pending", s.Pending)
241+
}
232242
fmt.Fprintf(w, " (%.2fs)\n", s.Duration)
233243
} else {
234244
fmt.Fprintf(w, "Results: %d passed (%.2fs)\n", s.Passed, s.Duration)

regresql/formatter_github.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ func (f *GitHubActionsFormatter) AddResult(r TestResult, w io.Writer) error {
9797
}
9898
case "skipped":
9999
fmt.Fprintf(w, "::warning::%s skipped: %s\n", r.Name, r.Error)
100+
case "pending":
101+
fmt.Fprintf(w, "::notice::%s pending (no baseline): %s\n", r.Name, r.Error)
100102
}
101103
return nil
102104
}
@@ -109,12 +111,18 @@ func (f *GitHubActionsFormatter) Finish(s *TestSummary, w io.Writer) error {
109111
if s.Skipped > 0 {
110112
fmt.Fprintf(w, ", %d skipped", s.Skipped)
111113
}
114+
if s.Pending > 0 {
115+
fmt.Fprintf(w, ", %d pending", s.Pending)
116+
}
112117
fmt.Fprintf(w, " (%.2fs)\n", s.Duration)
113118
} else {
114119
fmt.Fprintf(w, "::notice::All tests passed: %d passed", s.Passed)
115120
if s.Skipped > 0 {
116121
fmt.Fprintf(w, ", %d skipped", s.Skipped)
117122
}
123+
if s.Pending > 0 {
124+
fmt.Fprintf(w, ", %d pending", s.Pending)
125+
}
118126
fmt.Fprintf(w, " (%.2fs)\n", s.Duration)
119127
}
120128

regresql/formatter_json.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ func (f *JSONFormatter) Finish(s *TestSummary, w io.Writer) error {
2929
"passed": s.Passed,
3030
"failed": s.Failed,
3131
"skipped": s.Skipped,
32+
"pending": s.Pending,
3233
"duration": s.Duration,
3334
},
3435
"tests": formatTests(f.results),

regresql/formatter_junit.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ type (
2222
}
2323

2424
JUnitTestCase struct {
25-
Name string `xml:"name,attr"`
26-
Classname string `xml:"classname,attr"`
27-
Time float64 `xml:"time,attr"`
28-
Failure *JUnitFailure `xml:"failure,omitempty"`
29-
Skipped *JUnitSkipped `xml:"skipped,omitempty"`
25+
Name string `xml:"name,attr"`
26+
Classname string `xml:"classname,attr"`
27+
Time float64 `xml:"time,attr"`
28+
Failure *JUnitFailure `xml:"failure,omitempty"`
29+
Skipped *JUnitSkipped `xml:"skipped,omitempty"`
3030
}
3131

3232
JUnitFailure struct {
@@ -107,6 +107,11 @@ func (f *JUnitFormatter) Finish(s *TestSummary, w io.Writer) error {
107107
tc.Skipped = &JUnitSkipped{
108108
Message: r.Error,
109109
}
110+
} else if r.Status == "pending" {
111+
// pending tests are included in skipped
112+
tc.Skipped = &JUnitSkipped{
113+
Message: "pending: " + r.Error,
114+
}
110115
}
111116

112117
cases = append(cases, tc)
@@ -116,7 +121,7 @@ func (f *JUnitFormatter) Finish(s *TestSummary, w io.Writer) error {
116121
Name: "regresql",
117122
Tests: s.Total,
118123
Failures: s.Failed,
119-
Skipped: s.Skipped,
124+
Skipped: s.Skipped + s.Pending, // Include pending in skipped count
120125
Time: s.Duration,
121126
Cases: cases,
122127
}

regresql/formatters.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type (
1111
TestResult struct {
1212
Name string
1313
Type string // "output", "cost", or "plan_quality"
14-
Status string // "passed", "failed", "skipped", "warning"
14+
Status string // "passed", "failed", "skipped", "warning", "pending"
1515
Duration float64
1616
Error string
1717

0 commit comments

Comments
 (0)