From time to time I stumble upon an interesting software projects, but have no time to play with it and evaluate how it can be useful for me. It happens that I actuall come back to install and read full manual page.
Here is short review of empty(1) tool that starts other program inside of pty(7) and creates two pipes to interact with it.https://sourceforge.net/projects/empty
It can be considered more flexible version of expect(1), since user can use any tool to interact with pipes instead of being limited to Tcl language. What I do not like in its design is single daemon that manages multiple child processes, since it interacts poorly with process supervision.http://cr.yp.to/daemontools/faq/create.html
Probably the most evident use-case for empty(1) is automating of interactive command-line. I did not encounter much of them lately, though. Maybe it is because of wide spread of continous integration.
Another use-case would be testing programs like tmux(1) or dvtm(1). This world could definitely benefit from testing better than
[b45828d] Make ./testsuite.sh work at least on my system