This directory contains an acceptance test suite for ghostty. This works by running the terminal emulator within a windowing environment, capturing a screenshot, and comparing results. We use this to visually verify that all rendering conforms to what we expect.
This test suite can also execute alternate terminal emulators so that we can easily compare outputs between them.
To run a single test, use the run-host.sh
script. This must be executed
from this directory. Example:
$ ./run-host.sh --exec xterm --case /src/cases/vttest/launch.sh
The --case
flag uses /src
as the root for this directory.
The --update
flag can be used to update the screenshot in place. This
should be used to gather a new screenshot. If you want to compare to the old
screenshot, copy the old one or use git to revert.
Warning: This can take a long time and isn't recommended. The CI environment automatically runs the full test suite and is the recommended approach.
To run the full test suite against all terminal emulators, use the
run-all.sh
script. This optionally takes an --exec
parameter to run
the full test suite against only a single terminal emulator.
This test suite expects the ghostty
binary to be in this directory.
You can manually copy it into place. Each time you modify the binary, you
must rebuild the Docker image.