aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-11 00:12:55 +0200
committeruser <user@clank>2026-08-11 00:12:55 +0200
commit5e479cdb056f2fc9e7db303d1b525fc9d20d4ee1 (patch)
treee847acde299c96b7cc1cf9d5789eb5d7ff8247ad
parentsl0p: keep stacked-layout entries identifiable (diff)
downloadsl0ppij-5e479cdb056f2fc9e7db303d1b525fc9d20d4ee1.tar.gz
sl0ppij-5e479cdb056f2fc9e7db303d1b525fc9d20d4ee1.tar.xz
sl0ppij-5e479cdb056f2fc9e7db303d1b525fc9d20d4ee1.zip
sl0p: record the green test baseline in SPEED.md
The tree carried 30 failures in zellij-server and 5 in zellij-utils from the first sl0p commit until 5f2c28ab. They were never real bugs: aa51848d changed the scroll indicator and frame-title rendering without refreshing the insta snapshots. Documents the current green counts so a future context treats any failure as its own, plus the two traps that hid this for so long -- cargo stops at the first failing test binary, and insta aborts a test at its first snapshot mismatch -- and how to regenerate snapshots without cargo-insta.
-rw-r--r--.fastfeedback/SPEED.md39
1 files changed, 31 insertions, 8 deletions
diff --git a/.fastfeedback/SPEED.md b/.fastfeedback/SPEED.md
index 4643370f..a88fe386 100644
--- a/.fastfeedback/SPEED.md
+++ b/.fastfeedback/SPEED.md
@@ -41,8 +41,8 @@ bgrun check suite
| `cargo build --profile fastdev -p zellij` (cold) | 2m29s | one-time, per profile |
| `cargo build --release -p zellij` (incremental) | **~3min** | LTO + codegen-units=1. Avoid in the loop. |
| `cargo test -p zellij-server --lib <filter>` (incremental) | 4.8s | compile dominates; run is ~0.0s |
-| `cargo test -p zellij-server --lib` (full) | ~7s run | after compile; **30 pre-existing failures** |
-| `cargo test -p zellij-utils --lib` (full) | ~0.3s run | **5 pre-existing failures** |
+| `cargo test -p zellij-server --lib` (full) | ~7s run | after compile; **green** |
+| `cargo test -p zellij-utils --lib` (full) | ~0.3s run | **green** |
## Deploy loop (what we actually do)
@@ -54,15 +54,38 @@ cargo build --profile fastdev -p zellij \
Then start a **new session** — a running server keeps its old inode. Config-only changes
(`gap`/`padding`/`title_alignment`) hot-reload; renderer changes do not.
-## KNOWN-PRE-EXISTING FAILURES (not regressions — do not chase)
+## TEST BASELINE: GREEN
-- `zellij-server --lib`: **30 failures** on a pristine tree (mostly
- `tab::tab_integration_tests::*`, `screen::screen_tests::*`).
-- `zellij-utils --lib`: **5 failures** (`setup::setup_test::*` snapshot tests).
+Both crates pass clean. **Any failure you see is yours** — this is no longer a tree
+where failures are background noise.
-Always compare against baseline before believing you broke something:
+```
+cargo test -p zellij-server -p zellij-utils --no-fail-fast
+# zellij-server: 1475 passed, 0 failed
+# zellij-utils: 443 passed, 0 failed
+```
+
+Historical note: this tree used to carry 30 failures in `zellij-server` and 5 in
+`zellij-utils`, from the first sl0p commit (aa51848d) onward. They were never real
+bugs — `aa51848d` changed the scroll indicator and the frame-title rendering but did
+not refresh the `insta` snapshots. Fixed in 5f2c28ab.
+
+Two traps that hid this for so long, worth remembering:
+
+- **cargo stops at the first failing test binary.** The 30 `zellij-server` failures
+ meant `zellij-utils` never ran at all, so its 5 failures were invisible. Use
+ `--no-fail-fast` when you want the true picture across crates.
+- **insta aborts a test at its first snapshot mismatch.** Tests that assert several
+ snapshots only reveal the next one once the previous is fixed, so regenerating
+ takes several passes. Loop until `.snap.new` count reaches 0.
+
+Regenerating snapshots (no `cargo-insta` installed here):
```bash
-git stash && cargo test -p zellij-server --lib 2>&1 | tail -3 && git stash pop
+find . -name '*.snap.new' -delete
+INSTA_UPDATE=new cargo test -p zellij-server --lib
+# REVIEW the .snap.new diffs before accepting -- they are the only thing
+# standing between an intended UI change and a silent regression
+for f in $(find . -name '*.snap.new'); do mv "$f" "${f%.new}"; done
```
## SLOW TRAPS