lesstest
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
lesstest is a test suite for less. The lesstest program runs an instance of less, but less's normal tty input instead comes from a pipe leading from lesstest to less, and less's normal terminal output instead goes to a pipe leading from less to an instance of lt_screen. lt_screen simulates a terminal, but also has a separate "dump channel" which allows lesstest to read the contents of the simulated screen. +---------<---------<----------<---------<---------+ | dump channel | | | v (screen_out) | (ttyout) +------------------+ (tty) +------+ (outfd) +-------------+ | lesstest |--------------->| less |--------------->| lt_screen | +------------------+ simulated +------+ simulated +-------------+ ^ (stdin) | ^ keyboard terminal | | | | v | (testfile) +------------+ +-----------+ | developer | | LT file | | (maketest) | | (runtest) | +------------+ +-----------+ lesstest runs in one of two modes: In the "maketest" mode it reads single keystrokes from the developer and sends them to less. After each keystroke it then reads the lt_screen screen contents and logs the keystroke and the resulting screen contents to a log file, called an lt file. In the "runtest" mode, lesstest reads a previously-created lt file and "replays" the session; that is, it first reads a keystroke from the lt file and sends it to less. It then reads the lt_screen screen contents and compares it to the logged screen contents from the lt file. If they differ, it reports an error.