docs(repo): the scenarios there are, restart_with and known failures

This commit is contained in:
LGUG2Z committed 2026-10-30 12:03:00 -07:00
1 parent 7e20061763
commit 4c8404dfa0
1 file changed
+16 -11
+16 -11
View File
@@ -157,19 +157,24 @@ the run.
a screenshot. Where the platform has a pointer (`has("pointer")`), a scenario moves
it with `pointer.drag`; where it has none, the scenario says so and is skipped.
`core/scenarios` has the scenarios written against it: `tiling`, `focus`, `moving`,
`stacks`, `monocle`, `workspaces`, `closing` and `resize`. A method is added with the first scenario that
needs it. `KdePlatform` (`kde_platform.py`) is a `Kde` session as a `Platform`.
`stacks`, `monocle`, `workspaces`, `closing`, `resize`, `rules`, `hotplug`, `commands`
(every layout and about 216 commands), `lifecycle` (stop, start again), `placement`,
`startup_rules` and `focus_follows_mouse`. A method is added with the first scenario that
needs it: `restart_with(config)` starts the daemon afresh with a `komorebi.json` the
scenario gives. `KdePlatform` (`kde_platform.py`) is a `Kde` session as a `Platform`.
[Writing a scenario](#writing-a-scenario) says how to add one.
The scenarios run on two platforms. KDE runs all eight: seven at the end of `core-e2e`,
and `resize`, which needs a pointer, at the end of `drag-resize`. A Windows 11 guest
under QEMU, which kfw drives from its own tree, has run `tiling`, `focus`, `moving`,
`stacks`, `workspaces`, `monocle` and `closing` against kfw's daemon (reported by the
session that ran them, 2026-10-29, with this `core/` copied unchanged). `resize` ran
there too, and the edge moved less than the pointer did (+53 px for a drag of 60): a
finding about kfw, not about the setup, because an unmanaged window followed the same
drag exactly. `scripts/sync-e2e-core` keeps kfw's copy of `core/` in step until `core/`
moves there. [BEHAVIOUR.md](BEHAVIOUR.md) says what each scenario found on each port.
A check that a port is known to fail is recorded with `Checks.known_failure(description,
condition, reason)`: it does not fail the suite, the totals say `known failures: N`, and
one that holds fails the suite, so that the marker goes with the bug. Scenarios that can
hit one take the reason from the runner (`unknown_monitor`, `placement`).
The scenarios run on two platforms. KDE runs them in `core-e2e`, except `resize` and
`focus_follows_mouse`, which need a pointer and run at the end of `drag-resize`. A
Windows 11 guest under QEMU, which kfw drives from its own tree with this `core/` copied
unchanged (`scripts/sync-e2e-core` keeps the copy in step until `core/` moves there),
runs all of them against kfw's daemon. [BEHAVIOUR.md](BEHAVIOUR.md) says what each
scenario found on each port, and what turned red when the daemon was deliberately broken.
- `Checks` counts checks and fails once, at the end, so that one failure does
not hide the ones after it. `finish()` prints `passed: N failed: M`, and its
error names the checks that failed, which `nix build` shows in the last lines