Repository navigation
Commit 44a3b60
ci(integration): fail on a fatal-signal report the exit code can't express
Catch2 arms signal handlers for the duration of each test case, and forked
children of the extension inherit them until they exec. A signal landing in
that window makes the child print a "due to a fatal error condition" block
plus a run summary -- the parent's counters, since it's an address-space copy
-- and die. The parent records nothing and exits 0. Run 29051359074's shm
lane was green with exactly that block in its log.
Scan the captured output and fail the lane when it appears. The underlying
fork window is fixed in Query-farm/vgi (SubProcess et al. now reset signal
dispositions in the child), but this class of failure can never reach the
exit code, so the guard is worth keeping regardless of source.
Use `set +e` around the pipeline rather than `|| true`: the latter runs
before PIPESTATUS is read and overwrites it with true's 0, which would have
silently swallowed every real test failure in the suite.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 418700f commit 44a3b60
1 file changed
Lines changed: 34 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
260 | 291 | | |
261 | | - | |
| 292 | + | |
262 | 293 | | |
263 | | - | |
| 294 | + | |
264 | 295 | | |
265 | | - | |
| 296 | + | |
266 | 297 | | |
267 | 298 | | |
268 | 299 | | |
0 commit comments