diff --git a/test/fuzz-libghostty/.gitignore b/test/fuzz-libghostty/.gitignore new file mode 100644 index 000000000..08db7a09b --- /dev/null +++ b/test/fuzz-libghostty/.gitignore @@ -0,0 +1,9 @@ +# Build artifacts +.zig-cache/ +zig-out/ + +# AFL++ outputs +afl-out/ + +# Corpus trace files +corpus/**/.traces/ diff --git a/test/fuzz-libghostty/corpus/initial/01-plain-text b/test/fuzz-libghostty/corpus/initial/01-plain-text new file mode 100644 index 000000000..b45ef6fec --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/01-plain-text @@ -0,0 +1 @@ +Hello, World! \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/02-crlf b/test/fuzz-libghostty/corpus/initial/02-crlf new file mode 100644 index 000000000..ee7a21536 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/02-crlf @@ -0,0 +1,3 @@ +line1 +line2 +line3 \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/03-tab-bs b/test/fuzz-libghostty/corpus/initial/03-tab-bs new file mode 100644 index 000000000..743fc3dbf --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/03-tab-bs @@ -0,0 +1 @@ +col1 col2 col3 \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/04-c0-controls b/test/fuzz-libghostty/corpus/initial/04-c0-controls new file mode 100644 index 000000000..c5efdefea --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/04-c0-controls @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/05-esc-cursor-save-restore b/test/fuzz-libghostty/corpus/initial/05-esc-cursor-save-restore new file mode 100644 index 000000000..5b7518b37 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/05-esc-cursor-save-restore @@ -0,0 +1 @@ +78 \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/06-esc-keypad b/test/fuzz-libghostty/corpus/initial/06-esc-keypad new file mode 100644 index 000000000..8348a1ce6 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/06-esc-keypad @@ -0,0 +1 @@ +=> \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/07-esc-index b/test/fuzz-libghostty/corpus/initial/07-esc-index new file mode 100644 index 000000000..21ec44521 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/07-esc-index @@ -0,0 +1 @@ +DM \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/08-esc-ris b/test/fuzz-libghostty/corpus/initial/08-esc-ris new file mode 100644 index 000000000..c10be5482 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/08-esc-ris @@ -0,0 +1 @@ +c \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/09-csi-cursor-move b/test/fuzz-libghostty/corpus/initial/09-csi-cursor-move new file mode 100644 index 000000000..da43d8b32 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/09-csi-cursor-move @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/10-csi-cup b/test/fuzz-libghostty/corpus/initial/10-csi-cup new file mode 100644 index 000000000..f2f6cf3aa --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/10-csi-cup @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/11-csi-ed b/test/fuzz-libghostty/corpus/initial/11-csi-ed new file mode 100644 index 000000000..c97699cac --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/11-csi-ed @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/12-csi-el b/test/fuzz-libghostty/corpus/initial/12-csi-el new file mode 100644 index 000000000..d2e06ee40 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/12-csi-el @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/13-csi-sgr-basic b/test/fuzz-libghostty/corpus/initial/13-csi-sgr-basic new file mode 100644 index 000000000..4b39f8fec --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/13-csi-sgr-basic @@ -0,0 +1 @@ +Red Bold \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/14-csi-sgr-256 b/test/fuzz-libghostty/corpus/initial/14-csi-sgr-256 new file mode 100644 index 000000000..9633f9a24 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/14-csi-sgr-256 @@ -0,0 +1 @@ +color \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/15-csi-sgr-rgb b/test/fuzz-libghostty/corpus/initial/15-csi-sgr-rgb new file mode 100644 index 000000000..a9eceb508 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/15-csi-sgr-rgb @@ -0,0 +1 @@ +truecolor \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/16-csi-decset b/test/fuzz-libghostty/corpus/initial/16-csi-decset new file mode 100644 index 000000000..28f03d9b3 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/16-csi-decset @@ -0,0 +1 @@ +[?1049h[?1049l \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/17-csi-dsr b/test/fuzz-libghostty/corpus/initial/17-csi-dsr new file mode 100644 index 000000000..6ba17f28b --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/17-csi-dsr @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/18-csi-decstbm b/test/fuzz-libghostty/corpus/initial/18-csi-decstbm new file mode 100644 index 000000000..69e991bdd --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/18-csi-decstbm @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/19-csi-insert-delete-lines b/test/fuzz-libghostty/corpus/initial/19-csi-insert-delete-lines new file mode 100644 index 000000000..47faf6f08 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/19-csi-insert-delete-lines @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/20-csi-intermediate b/test/fuzz-libghostty/corpus/initial/20-csi-intermediate new file mode 100644 index 000000000..1d287620e --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/20-csi-intermediate @@ -0,0 +1 @@ +[61"p \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/21-osc-title-bel b/test/fuzz-libghostty/corpus/initial/21-osc-title-bel new file mode 100644 index 000000000..c27743fb3 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/21-osc-title-bel @@ -0,0 +1 @@ +]0;My Window Title \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/22-osc-title-st b/test/fuzz-libghostty/corpus/initial/22-osc-title-st new file mode 100644 index 000000000..ca9e76fe3 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/22-osc-title-st @@ -0,0 +1 @@ +]0;Title\ \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/23-osc-icon b/test/fuzz-libghostty/corpus/initial/23-osc-icon new file mode 100644 index 000000000..691abd3c8 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/23-osc-icon @@ -0,0 +1 @@ +]1;icon \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/24-osc-clipboard b/test/fuzz-libghostty/corpus/initial/24-osc-clipboard new file mode 100644 index 000000000..163e35eea --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/24-osc-clipboard @@ -0,0 +1 @@ +]52;c;SGVsbG8= \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/25-osc-hyperlink b/test/fuzz-libghostty/corpus/initial/25-osc-hyperlink new file mode 100644 index 000000000..ed3a58a58 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/25-osc-hyperlink @@ -0,0 +1 @@ +]8;;https://example.comlink]8;; \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/26-osc-color b/test/fuzz-libghostty/corpus/initial/26-osc-color new file mode 100644 index 000000000..262537563 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/26-osc-color @@ -0,0 +1 @@ +]4;1;rgb:ff/00/00 \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/27-osc-fg b/test/fuzz-libghostty/corpus/initial/27-osc-fg new file mode 100644 index 000000000..cd9cfb7b4 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/27-osc-fg @@ -0,0 +1 @@ +]10;rgb:ff/ff/ff \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/28-dcs-xtgettcap b/test/fuzz-libghostty/corpus/initial/28-dcs-xtgettcap new file mode 100644 index 000000000..f4a233804 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/28-dcs-xtgettcap @@ -0,0 +1 @@ +P+q544e\ \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/29-dcs-decrqss b/test/fuzz-libghostty/corpus/initial/29-dcs-decrqss new file mode 100644 index 000000000..9f49b718f --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/29-dcs-decrqss @@ -0,0 +1 @@ +P\$qm\ \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/30-dcs-tmux b/test/fuzz-libghostty/corpus/initial/30-dcs-tmux new file mode 100644 index 000000000..8977d5f69 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/30-dcs-tmux @@ -0,0 +1 @@ +P1000p\ \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/31-c1-dcs b/test/fuzz-libghostty/corpus/initial/31-c1-dcs new file mode 100644 index 000000000..c6c207579 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/31-c1-dcs @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/32-c1-csi b/test/fuzz-libghostty/corpus/initial/32-c1-csi new file mode 100644 index 000000000..6f542bbfd --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/32-c1-csi @@ -0,0 +1 @@ +m \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/33-c1-osc b/test/fuzz-libghostty/corpus/initial/33-c1-osc new file mode 100644 index 000000000..4a18dcacc --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/33-c1-osc @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/34-utf8-2byte b/test/fuzz-libghostty/corpus/initial/34-utf8-2byte new file mode 100644 index 000000000..197d1e512 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/34-utf8-2byte @@ -0,0 +1 @@ +éàü \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/35-utf8-3byte b/test/fuzz-libghostty/corpus/initial/35-utf8-3byte new file mode 100644 index 000000000..367ab4d05 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/35-utf8-3byte @@ -0,0 +1 @@ +–— \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/36-utf8-4byte-emoji b/test/fuzz-libghostty/corpus/initial/36-utf8-4byte-emoji new file mode 100644 index 000000000..e4e7bd664 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/36-utf8-4byte-emoji @@ -0,0 +1 @@ +😀🎉 \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/37-mixed-text-csi b/test/fuzz-libghostty/corpus/initial/37-mixed-text-csi new file mode 100644 index 000000000..d9873f0b0 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/37-mixed-text-csi @@ -0,0 +1 @@ +beforeredafter \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/38-mixed-osc-csi b/test/fuzz-libghostty/corpus/initial/38-mixed-osc-csi new file mode 100644 index 000000000..1aade8084 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/38-mixed-osc-csi @@ -0,0 +1 @@ +]0;title \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/39-csi-many-params b/test/fuzz-libghostty/corpus/initial/39-csi-many-params new file mode 100644 index 000000000..206cba7a2 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/39-csi-many-params @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/40-csi-subparams b/test/fuzz-libghostty/corpus/initial/40-csi-subparams new file mode 100644 index 000000000..5cbe91ab8 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/40-csi-subparams @@ -0,0 +1 @@ +[4:3m \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/41-incomplete-csi b/test/fuzz-libghostty/corpus/initial/41-incomplete-csi new file mode 100644 index 000000000..15bc306e2 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/41-incomplete-csi @@ -0,0 +1 @@ +[ \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/42-incomplete-esc b/test/fuzz-libghostty/corpus/initial/42-incomplete-esc new file mode 100644 index 000000000..7b71c6e67 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/42-incomplete-esc @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/43-incomplete-osc b/test/fuzz-libghostty/corpus/initial/43-incomplete-osc new file mode 100644 index 000000000..82ff48f09 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/43-incomplete-osc @@ -0,0 +1 @@ +]0;partial \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/44-empty b/test/fuzz-libghostty/corpus/initial/44-empty new file mode 100644 index 000000000..e69de29bb diff --git a/test/fuzz-libghostty/corpus/initial/45-esc-misc b/test/fuzz-libghostty/corpus/initial/45-esc-misc new file mode 100644 index 000000000..8fc79faa9 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/45-esc-misc @@ -0,0 +1 @@ +ABC \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/46-line-drawing b/test/fuzz-libghostty/corpus/initial/46-line-drawing new file mode 100644 index 000000000..592d5e2a1 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/46-line-drawing @@ -0,0 +1 @@ +(0lqqk(B \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/47-csi-cursor-hide-show b/test/fuzz-libghostty/corpus/initial/47-csi-cursor-hide-show new file mode 100644 index 000000000..b7bd07522 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/47-csi-cursor-hide-show @@ -0,0 +1 @@ +[?25l[?25h \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/48-csi-da2 b/test/fuzz-libghostty/corpus/initial/48-csi-da2 new file mode 100644 index 000000000..d6f954e9e --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/48-csi-da2 @@ -0,0 +1 @@ +[>c \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/49-csi-sgr-all b/test/fuzz-libghostty/corpus/initial/49-csi-sgr-all new file mode 100644 index 000000000..18b829f14 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/49-csi-sgr-all @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/fuzz-libghostty/corpus/initial/50-apc b/test/fuzz-libghostty/corpus/initial/50-apc new file mode 100644 index 000000000..6fdfa5937 --- /dev/null +++ b/test/fuzz-libghostty/corpus/initial/50-apc @@ -0,0 +1 @@ +_application\ \ No newline at end of file