Projects / Automated Testing Framework

Automated Testing Framework

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
Licenses BSD Original
Operating Systems Mac OS X POSIX Unix
Implementation C++ Unix Shell

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  18 Jan 2009 20:51
  • Rrelease-after

Changes: 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).

  • Rrelease-mid
  •  01 May 2008 10:31
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  04 Feb 2008 14:00
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  11 Nov 2007 14:26
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  20 Sep 2007 23:26
  • Rrelease-after

Changes: Test cases now get a known umask on entry. atf-run and atf-report now detect many bogus test programs and correctly report them. All the data formats have been reviewed and stabilized. The atf-version tool was added to show information about the installed version of ATF. Test cases can now define an optional cleanup routine. Test programs have been improved to capture some termination signals in order to be able to clean up temporary files before exiting. There have been multiple fixes and improvements all around.

31336c7fd8527ec17e65fe243b3d0b1e_thumb

Project Spotlight

Zenoss Core

An enterprise network and systems monitoring application.

0b78d625d3a38ecc720eb947c22f3653_thumb

Project Spotlight

BEdita

A semantic content management framework.