"DejaGnu is a framework for testing other programs ... written in Expect ..." [L1 ] It's also an official GNU project of the FSF.
Unfortunately, DejaGnu's documentation online is not the full version. My suggestion is to install DejaGnu, and read the new one with the install-packet. If this item does not appear, install src-packet. It will be located under file:///usr/share/dejagnu/html/book1.html .
In some ways [enumerate], tcltest is an alternative to DejaGnu.
asparagus : middleware for writing human-readable command line tests. An example for a complete test would be:
Given an executable "ls" When I run with parameters "-a" Then I should see ".." And it should return 0