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 β€” runs cmd whenever a difference gets detected between the recorded output and the output that came out of replaying the input back to the program. the environment variable REASON contains 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 are interact, continue and abort.
    • when action is interact, tdreplay lets the user interact with the program 🧚
    • when action is continue, tdreplay just carries on as if no difference was ever detected.
⚠️ 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/--picture or -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/--picture or -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/--picture or -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 a printf(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 Β© 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 πŸ’…βœ¨