ATF is a collection of libraries and utilities designed to ease unattended application testing in the hands of developers and end users of a specific piece of software. Tests can currently be written in C/C++ or POSIX shell and, contrary to other testing frameworks, ATF tests are installed into the system alongside any other application files. This allows the end user to easily verify that the software behaves correctly on her system. Furthermore, the results of the test suites can be collected into nicely-formatted reports to simplify their visualization and analysis.
|Tags||Software Development Quality Assurance Testing|
|Operating Systems||Mac OS X POSIX Unix|
|Implementation||C++ Unix Shell C|
Release Notes: The ATF_REQUIRE_THROW_RE and ATF_REQUIRE_MATCH macros have been added to the atf-c++ library. The default timeout for test cases has been reduced for speedier execution of faulty test suites. The use.fs property has been deprecated. New functions have been added to atf-c to simplify querying boolean and integer variables. Lastly, atf-run has been changed to automatically drop privileges for tests that cannot run as root.
Release Notes: For consistency with the C binding, the ATF_CHECK macros in the C++ binding have been renamed to ATF_REQUIRE. Lots of implementation details have been removed from the public APIs. The shell binding now enables "set -e" by default to catch programming mistakes in test cases. Lastly, there have been some miscellaneous bug and portability fixes.
Release Notes: The major change in this release was the addition of expected failures to test cases, which provides a mechanism to add tests for known bugs and get notifications when these get fixed. Additionally, there were new feature additions such as new macros to test for errno values and new checks for the output of command-line tools. At last, lots of obsolete/unnecessary code was removed and many simplifications to the source tree were introduced for easier maintenance of releases.
Release Notes: The atf-sh shell interpreted was added, which provides an easier way to run shell-based test programs; as a side-effect, the atf-compile utility was removed. Test programs were changed to automatically detect the source directory, simplifying their execution as users no longer need to provide such directory as an option any more. Lately, there were other improvements such as the addition of the use.fs test case property (to define which test cases require to access the file system) and the ability to define test cases without providing a header block.
Release Notes: The test case isolation (which involved the creation of temporary directories, forking a subprocess for every test case, etc.) was moved from the test programs themselves to atf-run. This provides a more consistent code base, tests that are easier to debug (since there is no need to play nasty hacks with gdb and subprocesses any more), and much faster run times. There were several other simplifications and miscellaneous improvements.