You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/driver-test-runner/SKILL.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ Env overrides recognized by the test harness:
35
35
-`RIVETKIT_DRIVER_TEST_SQLITE` — comma-separated subset of `local,remote`.
36
36
-`RIVETKIT_DRIVER_TEST_ENCODING` — comma-separated subset of `bare,cbor,json`.
37
37
38
-
When **any** of these env vars is set, the inner describe block name changes from `encoding (<encoding>)` to `runtime (<runtime>) / sqlite (<backend>) / encoding (<encoding>)`. The skill always sets the env vars, so the longer form is always what `-t` must match.
38
+
When **any** of these env vars is set, the inner describe block name changes from `encoding (<encoding>)` to `runtime (<runtime>) / sqlite (<backend>) / encoding (<encoding>)`. The skill always sets the env vars, so expect the longer form in test output.
39
39
40
40
## How It Works
41
41
@@ -173,14 +173,16 @@ For each unchecked row in order, run the runtimes selected by the `runtime` arg
173
173
| native | local |
174
174
| wasm | remote |
175
175
176
-
**b) Build the filter command:**
176
+
**b) Build the scoped file command:**
177
177
178
178
Each suite lives in its own file under `rivetkit-typescript/packages/rivetkit/tests/driver/<file>.test.ts`. With env overrides set, the describe block nesting is:
Do not use Vitest `-t` for driver matrix cells. The env vars already constrain the file to one runtime/backend/encoding cell, and the `-t` path can break `describe.sequential` ordering in this suite.
185
+
184
186
Base command (native):
185
187
186
188
```bash
@@ -189,7 +191,6 @@ cd rivetkit-typescript/packages/rivetkit && \
Replace `<FILE>` with the file name stem (part before the `|` in the progress file) and `<SUITE_DESCRIPTION>` with the suite description (part after the `|`). Escape parentheses in the description if present. Forward slashes inside the describe path do not need to be escaped.
211
-
212
-
**Important:** The suite description in the `-t` filter must match the inner `describe(...)` text in the test file exactly. Some mappings:
210
+
Replace `<FILE>` with the file name stem (part before the `|` in the progress file). Keep the suite description in the progress file for human-readable tracking only. Some mappings:
213
211
214
212
| File | Suite Description Text |
215
213
|------|----------------------|
@@ -275,7 +273,7 @@ If both runtime boxes are now checked, the file is fully done; advance to the ne
275
273
**e) If tests fail:**
276
274
277
275
1. Do NOT move to the next runtime or file.
278
-
2.Narrow down to the first failing test using a more specific `-t` filter (keep the same env vars).
276
+
2.Inspect the failing output and isolate with a temporary `.only` only when single-test debugging is necessary.
279
277
3. Read the error output to understand the failure.
280
278
4. Append to the log:
281
279
@@ -292,18 +290,19 @@ If both runtime boxes are now checked, the file is fully done; advance to the ne
292
290
293
291
### 5. Narrowing scope on failure
294
292
295
-
If a file group fails, narrow to individual tests while keeping the same runtime env vars:
293
+
If a file group fails, keep the same runtime env vars and rerun the file after adding a temporary `.only` to the failing test:
Remove the temporary `.only` before committing. Do not use `-t` as a flake workaround.
305
+
307
306
If the bug only appears on one runtime, that's a strong signal — focus the diff hunt on the corresponding runtime adapter (`napi-runtime.ts` / `wasm-runtime.ts`) and any wasm-feature-gated code in `rivetkit-core` and `rivetkit-typescript/packages/rivetkit-wasm`.
0 commit comments