For some time, MySQL has been using a unit test framework based on the Test Anything Protocol (TAP) used by Perl and PHP.
The framework consists of a C library that can be used to generate TAP output suitable for processing with, for example, the Test::Harness Perl module. In order to allow Test::Harness to execute the compiled programs, a simple wrapper called unit.pl exists in the unittest/ directory in the MySQL server tree.
The documentation for the MyTAP API is available at
http://www.kindahl.net/mytap/doc/, until I can find another home for it.
All comments are welcome.