mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-13 12:23:38 +01:00
The Windows crates' unit tests could only run in the (future) hosted Windows CI. They run in the existing Windows e2e guest: nix run .#windows-nextest boots the golden image like a scenario (restoring a saved state when KOMOREBI_E2E_STATE is set), uploads the test executables that the check windows-nextest-build cross-compiled, runs every test in a process of its own (nextest.exe is not needed: komorebi's tests share global state, so one process per test is what nextest does too) and prints a line per executable and the failures, with OUT/cargo-tests.json for every result. The driver e2e/platforms/qemu_windows/cargo_tests.py already existed and was wired to nothing; it now takes the check output (tests.tsv) as well as cargo messages, creates the saved state itself, prints the panic message of a failure, and uploads the data files the tests read. Those are found by the CARGO_MANIFEST_DIR baked into the executables, a path of the Nix build, so the check also keeps schemas/ and the tests' fixtures and the driver puts them at that path under C:. Without them 20 tests failed for the missing files. docs/dev/build-and-test.md and docs/dev/flake-checks.md describe the check, the app and the neutral crates in linux-nextest. Verified: nix run .#windows-nextest on the golden image g8 (scale 1.5, state ~/e2e-w0/state-nextest): 964 tests in 37 executables, 964 passed, 0 failed, 202 s with the state restored (first run 163 s more to save the state). One run only; not soaked. No e2e scenario, the golden image or the existing e2e-windows behaviour changed.