https://invisible-island.net/vttest/
vttest - test VT100-type terminal
vttest [options] [24x80.132]
Vttest is a program designed to test the functionality of a VT100 terminal (or emulator thereof). It tests both display (escape sequence handling) and keyboard. The program is menu-driven and contains full on-line operating instructions. o To run a given menu-item, you must enter its number. o Menu items start at zero; this is the "Exit" item in almost all cases. o You can run all menu-items (for a given level) by entering an asterisk, i.e, "*'. o You can force a repaint of the menu items by entering "?". o A few menus can be more than one page. Use "n" and "p" to switch to the next or previous page.
You can specify the screen geometry in the form [24x80.132], i.e., o 24 lines, o 80 minimum columns, and o 132 maximum columns. If your terminal does not switch between 80 and 132 columns you may specify 24x80.80, for example, to avoid a misleading display. Other options are: -V print the program version, and exit. -c commands replay commands recorded by the logging option. Some keyboard and mouse input is required, depending on the tests, but otherwise menu selection and next-page responses are automated. -f fontfile specify a file containing a DRCS (soft character definition) string. -l log test results to vttest.log. -p use padding, e.g., for a VT100 connected to a high-speed line. -q show only the most recent part of a continuous response, e.g., any-event mouse tests, to improve readability of the test. -s add time-delay in selected panning/scrolling options to show details. -u suppress switch from UTF-8 mode on startup, and enable a third setting in the 7-bit/8-bit parsing test to allow for C2 controls as an alternate to 8-bit C1. -8 use 8-bit controls (this can be changed with a menu option).
When vttest starts, it checks the locale (LC_ALL, etc.), to determine if the terminal uses UTF-8, and normally switches the terminal to ISO-8859 1. Use the "-u" option to disable this switching, and provide some special cases where UTF-8 encoding is accepted. For example, the Unicode specification does not document its relationship to ECMA-48 (ISO 6429) beyond listing C0 and C1 codes which Unicode treats as whitespace. The latter (i.e., NEL U+0085) is misleading because Unicode describes C1 controls only obliquely. It goes into a little more detail regarding ECMA-35 (ISO 2022). vttest allows for both the standard encoding of C1 (single byte) and the variant implied by Unicode, referred to here as C2 (two bytes) to distinguish the two encodings.
Per Lindberg (mcvax,seismo)!enea!suadb!lindberg sometime 1985. Modified by Thomas E. Dickey from June 1996, to support nonstandard screen geometry, VT220-VT525, ISO color and xterm-specific tests.
XTerm Control Sequences <https://invisible-island.net/xterm/ctlseqs/ctlseqs.html> DEC VT terminal line-wrapping semantics <https://github.com/mattiase/wraptest/> 2024-10-10 VTTEST(1)