test(windows): run the Windows code under Wine; theme preview parity
Windows was previously only compile-checked. With Wine 11 (staging) and mingw available, scripts/windows-wine-test.sh (`just test-windows-wine`) builds expat/FreeType/fontconfig for mingw under target/wine-deps and runs the test suites of ghostty-vt, unicode, datastruct, input, os, config, terminal, crash, termio and cli under Wine (~2,700 tests). New termio/tests/exec_windows.rs drives real cmd.exe children over ConPTY through Termio (output, exit codes, typing, 120 KiB writes, stop, start failure). Fixes found: Windows paths from fs::canonicalize leaked the \\?\ prefix (new ghostty_os::path::realpath strips it like Zig); ghostty-font compiles hb-ft for bundled HarfBuzz on Windows; ~25 tests had Unix assumptions. Wine limitations are ignored with reasons (ResizePseudoConsole stub, no POSIX rename over existing files) - docs/rewrite/notes/windows-wine.md. +list-themes preview parity (former KNOWN_DIFFERENCES rows 5-9): the search box ports vaxis TextInput (word navigation and editing bindings, grapheme-wise editing), ASCII-only case folding, light initial colors until terminal reports arrive (no COLORFGBG), and load errors end the preview with exit 1; PTY tests compare with /usr/bin/ghostty. Test Plan: - just test-windows-wine - cargo test -p ghostty-cli --test list_themes_pty - cargo test --workspace --no-fail-fast (3601 passed)
This commit is contained in:
1 parent
b95aae16ae
commit
a8d0d624da
30 files changed
+1668
-240
No files matched your search
@@ -14,7 +14,8 @@ All of Ghostty's Zig code is ported: the Linux GTK app (verified at runtime
|
||||
and pixel-identical to Ghostty 1.3.1), the `libghostty` and `libghostty-vt`
|
||||
C APIs (same headers/ABI), WASM, crash reporting, and the macOS
|
||||
(Metal/CoreText) and Windows (ConPTY) code paths. macOS and Windows are
|
||||
compile-checked on Linux (`just check-macos`, `just check-windows`) but have
|
||||
compile-checked on Linux (`just check-macos`, `just check-windows`); the
|
||||
Windows test suites also run under Wine (`just test-windows-wine`), macOS has
|
||||
not been run natively. The Swift macOS app is not part of the port; it is a
|
||||
client of the libghostty C API.
|
||||
|
||||
@@ -63,6 +64,8 @@ build (see `docs/rewrite/notes/perf-P1.md`).
|
||||
Ghostty's own Zig code (sets up Zig 0.15.2 under `target/`).
|
||||
- `just visual-parity` — pixel comparison against the installed Ghostty in a
|
||||
headless nested weston.
|
||||
- `just test-windows-wine` — runs the Windows test suites (incl. ConPTY /
|
||||
`cmd.exe` end-to-end tests) under Wine with mingw-w64.
|
||||
- `just check-all` — native gate plus macOS/Windows/WASM checks.
|
||||
|
||||
## Documentation
|
||||
|
||||
Reference in new issue
Block a user