TDREPLAY(1)
π TDREPLAY β the termdebug girlies' replay tool π
ok so like. welcome to the tdreplay page, bestie π this one lives in the termdebug manual, section 1, and it's literally the "press play on the recording" button of your terminal-program-testing dreams β¨
β¨ NAME β¨
tdreplay β replay input to a terminal program π¦
β¨ SYNOPSIS β¨
tdreplay [OPTIONS] RECORDING
β¨ DESCRIPTION β¨
okay so here's the vibe: tdreplay takes the input from a recording and replays it to the terminal program that's named in that recording. that's it. that's the whole job π
and why do we care?? because it lets you verify that the program's behaviour hasn't changed β or, alternatively, get that sweet sweet confirmation that it has. it's giving regression test but make it dramatic π
β¨ OPTIONS β¨
tdreplay accepts the following options, bestie, and we're going through ALL of them, no skipping, no cap:
-h,--helpβ shows you a short help message π«Ά-V,--versionβ prints version and copyright info β¨-a cmd,--alert=cmdβ runscmdwhenever a difference gets detected between the recorded output and the output that came out of replaying the input back to the program. the environment variableREASONcontains a message about what sort of difference was detected. a genuinely iconic command for this is'xmessage "$REASON"'π¬-d,--displayβ shows the output of the running program right there on the current terminal. the default behaviour is to only verify that the program behaves as recorded, without showing you the output at all π-e action,--on-error=actionβ sets the action to take when a difference is detected between the recorded output and the actual output. possible values for action areinteract,continueandabort.- when action is
interact,tdreplaylets the user interact with the program π§ - when action is
continue,tdreplayjust carries on as if no difference was ever detected.
- when action is
β οΈ okay this one's serious, bestie: continue can be dangerous, because the input is no longer in sync with the output. depending on the possible actions of the program being run, this can cause data corruption. like. actual corruption. be careful π
-k delay,--key-delay=delayβ sets the delay for sending the next keys to delay. delay can either be a fixed number of miliseconds, or you can specify it as/(slash) followed by a divisor. when a divisor is specified, all key delays specified in the recording get divided by that divisor β-l log,--log=logβ writes a log of the events to log. this is lowkey useful for figuring out what the difference between the recorded output and the actual output actually IS π-R,--no-resizeβ do NOT try to resize the output terminal by sending a resize command sequence π«-v,--visual-compareβ checks for visual equality, rather than exact input/output behaviour. (requires a build with ncurses support.) π-D,--describeβ writes a description of the first visual difference encountered. only useful with-v/--visual-compare. (requires a build with ncurses support.) π-p name,--picture=nameβ writes a picture of the difference to name. only useful with-v/--visual-compare. (requires a build with ncurses and Cairo support.) πΌοΈ-f font,--font=fontβ uses font to show text in generated pictures. only useful with-p/--pictureor-P/--picture-series. (requires a build with ncurses and Cairo support.) βοΈ-W width,--cell-width=widthβ uses cells of width pixels wide in generated pictures. only useful with-p/--pictureor-P/--picture-series. (requires a build with ncurses and Cairo support.) π-H height,--cell-height=heightβ uses cells of height pixels wide in generated pictures. only useful with-p/--pictureor-P/--picture-series. (requires a build with ncurses and Cairo support.) π-P name,--picture-series=nameβ creates a series of pictures, representing the different visual steps in the client interface, using name as the file name template. name is aprintf(3)format string, where a single d-type conversion is required. (requires a build with ncurses, Cairo and Pthread support.) ποΈ
and one more lil thing because it's important, bestie π to stop tdreplay from interpreting file names that start with a dash as options, you can specify a double dash (--), after which tdreplay will interpret any following arguments as files to read. so like, -- is your little boundary-setting queen π
π BUGS π
if you think you've found a bug, please check that you're using the latest version of termdebug over at <http://os.ghalkes.nl/termdebug> first π and when you report bugs, please include a minimal example that demonstrates the problem β minimal!! we love a reproducible lil example π
π AUTHOR π
G.P. Halkes <termdebug@ghalkes.nl> β¨
π COPYRIGHT π
Copyright Β© 2010,2012-2013 G.P. Halkes
termdebug is licensed under the GNU General Public License version 3. for more details on the license, see the file COPYING in the documentation directory. on Un*x systems this is usually /usr/share/doc/termdebug π
π SEE ALSO π
termdebug(1), tdrecord(1), tdrerecord(1), tdview(1), tdcompare(1) π«
ok that's the whole page bestie, go forth and replay π«Ά
version 2.2, dated 2013/03/03, straight out of the termdebug era β periodt π β¨
π¦ where this page comes from
- debian bookworm: termdebug 2.2+dfsg-1+b4 Β· GPL-3.0-only
- debian trixie: termdebug 2.2+dfsg-2 Β· GPL-3.0-only
- ubuntu jammy: termdebug 2.2+dfsg-1build4 Β· GPL-3.0-only
- ubuntu noble: termdebug 2.2+dfsg-1build7 Β· GPL-3.0-only
- ubuntu questing: termdebug 2.2+dfsg-2
- ubuntu resolute: termdebug 2.2+dfsg-2build1 Β· GPL-3.0-only
- ubuntu stonking: termdebug 2.2+dfsg-2build1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms