Commit Graph

58 Commits (libvt-kitty)

Author SHA1 Message Date
Alessandro De Blasis ca08ab8619 windows: simplify DLL init test and improve README 2026-03-27 06:04:09 -07:00
Alessandro De Blasis 5d92222621 windows: address review feedback on DLL CRT init PR
Use b.allocator instead of b.graph.arena for SDK detection and
path formatting -- b.allocator is the public API, b.graph.arena
is an internal field.

Move test_dll_init.c from windows/Ghostty.Tests/ to test/windows/
with a README. Test infrastructure belongs under test/, not the
Windows app directory.
2026-03-27 06:04:09 -07:00
Mitchell Hashimoto b9669e10c4
fuzz: update stream fuzzer to use TerminalStream
ReadonlyStream was removed from the public API. Update the stream
fuzzer to use TerminalStream, which is the type now returned by
Terminal.vtStream().
2026-03-23 14:17:10 -07:00
Mitchell Hashimoto 2044e5030f
terminal: make stream processing infallible
The terminal.Stream next/nextSlice functions can now no longer fail.
All prior failure modes were fully isolated in the handler `vt`
callbacks. As such, vt callbacks are now required to not return an error
and handle their own errors somehow.

Allowing streams to be fallible before was an incorrect design. It
caused problematic scenarios like in `nextSlice` early terminating
processing due to handler errors. This should not be possible.

There is no safe way to bubble up vt errors through the stream because
if nextSlice is called and multiple errors are returned, we can't
coalesce them. We could modify that to return a partial result but its
just more work for stream that is unnecessary. The handler can do all of
this.

This work was discovered due to cleanups to prepare for more C APIs.
Less errors make C APIs easier to implement! And, it helps clean up our
Zig, too.
2026-03-13 13:56:14 -07:00
Mitchell Hashimoto d2175d1b56
fuzz: add OSC parser fuzzer 2026-03-03 08:37:45 -08:00
Mitchell Hashimoto 7665efc3a1
fuzz: new stream corpus from 2 hour run 2026-03-01 20:19:44 -08:00
Mitchell Hashimoto 43ec4ace47
fuzz: add replay-crashes.nu to help find crash repros 2026-03-01 20:08:17 -08:00
Mitchell Hashimoto 8cebcaa468
fuzz: stream cmin 2026-03-01 15:00:13 -08:00
Mitchell Hashimoto dce2326c4c
fix up gitattributes 2026-03-01 14:55:07 -08:00
Mitchell Hashimoto 1c65611446
prettier should ignore various fuzz files 2026-03-01 14:55:07 -08:00
Mitchell Hashimoto 33fbd73247
fuzz/stream: clean up 2026-03-01 14:55:07 -08:00
Mitchell Hashimoto 4f44879c3b
Clean up how fuzzers are laid out 2026-03-01 14:55:07 -08:00
Mitchell Hashimoto e081a4abb4
fuzz/vt-stream 2026-03-01 14:55:07 -08:00
Mitchell Hashimoto f43874a168
fuzz: update corpus 2026-03-01 09:20:47 -08:00
Mitchell Hashimoto 7bc44e77d0
shellcheck 2026-03-01 06:54:06 -08:00
Mitchell Hashimoto e8f861f561
fuzz: replace : with _ for Windows 2026-03-01 06:47:01 -08:00
Mitchell Hashimoto 346248251e
typos 2026-02-28 21:14:52 -08:00
Mitchell Hashimoto 2bd09523c8
pkg/afl++: use usize for len 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto eb7d28d180
Corpus management update 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto 1d9f080309
test/fuzz-libghostty: add README 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto afabbaf012
pkg/afl++: extract runner 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto 2a340536a6
test/fuzz-libghostty: add zig build run 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto 673dd474f8
test/fuzz-libghostty: gitignore and initial corpus 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto 3294621430
switch to pkg/afl++ for fuzz 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto adbb432930
test/fuzz-libghostty: basic afl++-based fuzzer for libghostty 2026-02-28 21:14:51 -08:00
Mitchell Hashimoto 981901a011
Remove old "acceptance tests"
We haven't used or run these in forever (literally like 3+ years).
They're just wasting cognitive space and confuse some users as to what
they're for. Remove them.
2026-02-28 14:37:23 -08:00
Mitchell Hashimoto 7f0468f910
fix ucs-detect script 2025-11-06 12:56:43 -08:00
Mitchell Hashimoto a315f8f32e
nix: add ucs-detect
This makes `ucs-detect` available in our Nix environment so that we can
run tests on our Unicode support. In the future, I'd like to modify our
CI to run this too.

This also adds a `./test/ucs-detect.sh` script that runs `ucs-detect`
with consistent options that match the upstream test styles.
2025-11-06 09:22:18 -08:00
maximal 6d40da1e1c Optimize PNG images losslessly: 73 → 51 KiB (−30%) 2025-09-19 12:55:19 +03:00
Bryan Lee cbb3f6f64f
ci: add shellcheck linting for shell scripts
Add shellcheck to CI pipeline to ensure shell scripts follow best practices
and catch common errors. Fix existing shellcheck warnings in test scripts
to pass the new linting requirements.
2025-07-11 02:54:05 +08:00
Patrick Fong 8be80558c7 lint all Md files 2023-09-28 10:27:15 -07:00
Mitchell Hashimoto e34c8958c2
test: update test cases from the setCursorPosition off-by-one fix 2022-07-25 17:21:59 -07:00
Mitchell Hashimoto 4f85c13d1b
test: add wraptest 2022-07-25 08:23:50 -07:00
Mitchell Hashimoto f11c82853f
test: run-all runs in parallel 2022-07-24 16:47:47 -07:00
Mitchell Hashimoto e66a4fcab6
test cases update since deccolm implemented 2022-07-24 16:35:18 -07:00
Mitchell Hashimoto 5c8c9d8e3c
support DECCOLM
This gets vttest page 1 and page 2 now FULL passing.

We now crash on page 3. This is a lingering bug in our grid code
though and we need to find it anyways so we'll keep the crash in.
2022-07-24 16:06:04 -07:00
Mitchell Hashimoto a3409ac70d
erase line left should include cursor position 2022-07-24 09:53:21 -07:00
Mitchell Hashimoto a43c63111f
count = 0 implies 1 for all cursor movement, fixes one line of vttest 2022-07-24 09:38:38 -07:00
Mitchell Hashimoto bf3d6617fe
move test log up so it shows up on fail 2022-07-22 14:24:24 -07:00
Mitchell Hashimoto 12a864c3f2
test: use larger dimensions to avoid some crash 2022-07-22 14:17:15 -07:00
Mitchell Hashimoto 65c0472701
test: sort tests prior to running 2022-07-22 13:59:51 -07:00
Mitchell Hashimoto 180d4a3c41
test: colorize output 2022-07-22 13:42:53 -07:00
Mitchell Hashimoto b4fc81564b
xterm test cases 2022-07-22 10:10:51 -07:00
Mitchell Hashimoto 7e25585d5c
update alacritty test cases 2022-07-22 10:09:03 -07:00
Mitchell Hashimoto aca9077bed
add all vttest screen 1s 2022-07-22 10:07:14 -07:00
Mitchell Hashimoto 6641fcbd4c
add --font-size flag for font size in pixels 2022-07-21 21:35:49 -07:00
Mitchell Hashimoto 578679fb35
test: run-all.sh, hide i3bar for compare 2022-07-21 21:00:40 -07:00
Mitchell Hashimoto 6812f3f54a
test: switch to Ubuntu for now
We can't use Alpine because we can't yet compile for musl.
2022-07-21 09:03:50 -07:00
Mitchell Hashimoto ad2a795b9d
test: start preparing to run ourselfs in the harness 2022-07-21 09:03:50 -07:00
Mitchell Hashimoto 1586afe64b
remove unused 2022-07-21 09:03:50 -07:00