Skip to content

Commit 969b18e

Browse files
committed
feat: detect missing expected files as "pending" instead of "failed"
1 parent 78c7d84 commit 969b18e

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

regresql/formatters.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ type (
4040
Passed int
4141
Failed int
4242
Skipped int
43+
Pending int // queries without expected file
4344
Duration float64
4445
Results []TestResult
4546
StartTime time.Time
@@ -84,6 +85,8 @@ func (s *TestSummary) AddResult(r TestResult) {
8485
s.Failed++
8586
case "skipped":
8687
s.Skipped++
88+
case "pending":
89+
s.Pending++
8790
}
8891
}
8992

regresql/tap.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ Query Parameters: '%v'
4949
t.Ok(false, r.Name)
5050
case "skipped":
5151
t.Skip(1, r.Name)
52+
case "pending":
53+
t.Todo().Ok(false, r.Name)
5254
}
5355
}
5456

@@ -128,6 +130,15 @@ func (p *Plan) CompareResultSetsToResults(regressDir, expectedDir string) []Test
128130
Parameters: bindings,
129131
}
130132

133+
// Check if expected file exists - mark as pending if missing
134+
if _, err := os.Stat(expectedFilename); os.IsNotExist(err) {
135+
result.Status = "pending"
136+
result.Error = fmt.Sprintf("Expected file not found: %s (run 'regresql update' to create)", expectedFilename)
137+
result.Duration = time.Since(start).Seconds()
138+
results = append(results, result)
139+
continue
140+
}
141+
131142
// Try to load expected result set and perform semantic comparison
132143
expectedRS, err := loadResultSet(expectedFilename)
133144
if err != nil {

0 commit comments

Comments
 (0)