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.
Release Notes: Support for build-time tests (a.k.a. running the compiler) was added to the C and C++ bindings. The code was refactored to provide a better interface for child-process management, which helps the change above. All the distribution-specific documents were converted to XML to allow the generation of online versions. Many other internal cleanups and fixes were made.
Release Notes: The atf-check tool has been added, which executes a given command and checks its exit code and output against pre-specified values. This is mostly used internally by the shell interface. A new set of macros, ATF_REQUIRE_*, has been added to the C interface to signal fatal errors, while the old ones (ATF_CHECK_*) now only signal non-fatal errors. There are several other internal changes to make test case timeout control more robust, and multiple optimizations all around the code (especially in the shell code).
Release Notes: The code has been relicensed under a 2-clause BSD license. A new C-only binding (atf-c) has been added so that developers do not need to use C++ at all to write test cases. The C++ binding has been renamed to atf-c++, and the POSIX shell binding to atf-sh for consistency. Test programs now support a -w flag to indicate the work directory they have to use. Test programs now preserve the order of test cases when stated by the user on the command line.
Release Notes: This release adds preliminary documentation on the C++ and shell interfaces to write tests, mainly directed to developers wishing to adopt ATF. It adds a way to specify required architectures and machines for given tests through the require.arch and require.machine properties; if the platform running the tests does not fulfill the requirements, the tests are simply skipped. It adds the ability to limit the maximum time a test case can last through the timeout property, killing tests that get stalled. There are many portability fixes, especially to SunOS, and small improvements all around.
Release Notes: This release adds XML output support for atf-report. atf-run has been changed to include generic system information in the reports it generates, which is useful for later inspection of test logs on remote machines. The 'isolated' property has been removed from test cases, as it has become useless and problematic. atf-report's CSV output format has been extended to include details about test programs. ATF tests have been fixed to not require atf-compile where it is not strictly necessary. There are many general cleanups.