ReviewOS

also looking at this

zig-utils/zig-test-framework

Unify discovery and programmatic test execution

#23
Merged glennmichael123 wants to merge codex/issue-5-unified-test-pipeline into main
12 files +656 -169
README.mdmodified+12-5
Changes to README.md
@@ -95,15 +95,20 @@ This will automatically discover and run all `*.test.zig` files in the `tests` d
9595- `--no-recursive` - Disable recursive directory search
9696- `--bail` - Stop on first failure
9797- `--filter <text>` / `--grep <text>` - Run only Zig tests whose names contain the text
98- `--reporter <name>` - Use spec, dot, JSON, TAP, or JUnit output
99- `--junit-output <file>` - Set the JUnit XML path
100- `--timeout <ms>` - Mark files that exceed the global time budget as failed
98101- `--shard-index <N>` - Run one one-based file shard
99102- `--shard-count <N>` - Set the total number of file shards
100103- `--no-color` - Disable color in child Zig test processes
101104- `--verbose` - Show detailed output
102105
103Discovery mode rejects options that it cannot honor yet instead of silently
104ignoring them. Reporter selection, quiet output, timeouts, parallel jobs,
105snapshot updates, memory profiling, JUnit output, and the web UI require the
106shared execution pipeline planned for future releases.
106Discovery and programmatic execution share the same test-plan, lifecycle,
107result, and reporter model. Discovery still rejects options it cannot honor
108instead of silently ignoring them: quiet output, parallel jobs, snapshot
109updates, memory profiling, and the web UI remain programmatic-only. See
110[the execution pipeline architecture](docs/execution-pipeline.md) for extension
111points, timeout semantics, and migration guidance.
107112
108113**Examples:**
109114
@@ -634,7 +639,9 @@ zig-test --no-color
634639| `--version` | `-v` | Show version information |
635640| `--bail` | `-b` | Stop on first failure |
636641| `--filter <pattern>` | | Run only tests matching pattern |
637| `--reporter <name>` | | Set reporter (spec, dot, json) |
642| `--reporter <name>` | | Set reporter (spec, dot, json, tap, junit) |
643| `--junit-output <file>` | | Set the JUnit XML output path |
644| `--timeout <ms>` | | Set the global test timeout |
638645| `--verbose` | | Enable verbose output |
639646| `--quiet` | `-q` | Minimal output |
640647| `--no-color` | | Disable colored output |