ATF, or Automated Testing Framework, is a collection of libraries to write test programs in C, C++ and POSIX shell.

The ATF libraries offer a simple API. The API is orthogonal through the various bindings, allowing developers to quickly learn how to write test programs in different languages.

ATF-based test programs offer a consistent end-user command-line interface to allow both humans and automation to run the tests.

Originally, ATF also included tools to execute the tests and generate reports, but these were superseded by the more robust and featureful Kyua is the engine of choice.

This project was developed under the Summer of Code 2007 program and originated after writing tmpfs for NetBSD, where I developed an ad-hoc test suite for the file system and realized we needed something much more flexible to test other parts of the OS. Since then, it has been adopted by NetBSD, FreeBSD and even other tools such as ISC Bind.

Related blog posts