diff options
| author | user <user@clank> | 2026-08-11 00:12:55 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-11 00:12:55 +0200 |
| commit | 5e479cdb056f2fc9e7db303d1b525fc9d20d4ee1 (patch) | |
| tree | e847acde299c96b7cc1cf9d5789eb5d7ff8247ad | |
| parent | sl0p: keep stacked-layout entries identifiable (diff) | |
| download | sl0ppij-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.md | 39 |
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 |
