---
name: "atf"
section: "7"
platform: "linux"
package: "libatf-dev"
version: "0.22-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/atf"
---

# atf(7)

introduction to the Automated Testing Framework

## NAME

**ATF** – introduction to the Automated Testing Framework

## DESCRIPTION

The Automated Testing Framework (**ATF**) is a *collection* *of* *libraries* to implement test programs in a variety of languages. These libraries all offer similar functionality and any test program written with them exposes a consistent user interface.

Test programs using the **ATF** libraries rely on a separate runtime engine to execute them in a deterministic fashion. The runtime engine isolates the test programs from the rest of the system and ensures some common side-effects are cleaned up. The runtime engine is also responsible for gathering the results of all tests and composing reports. The current runtime of choice is Kyua, described in [kyua(1)](/kyua/1.md).

If your operating systems distributes **ATF**, it should also provide an introductory [tests(7)](/tests/7.md) manual page. You are encouraged to read it now.

The rest of this manual page serves as a cross-reference to all the other documentation shipped with **ATF**.

### Language bindings

- [atf-c(3)](/atf-c/3.md)

  C programming interface.

- [atf-c++(3)](/atf-c++/3.md)

  C++ programming interface.

- [atf-sh(3)](/atf-sh/3.md)

  [sh(1)](/sh/1.md) programming interface.

### Miscellaneous pages

- [atf-test-case(4)](/atf-test-case/4.md)

  Generic description of test cases, independent of the language they are implemented in.

- [atf-test-program(1)](/atf-test-program/1.md)

  Common interface provided by the test programs written using the **ATF** libraries.

## SEE ALSO

[kyua(1)](/kyua/1.md), [tests(7)](/tests/7.md)

## HISTORY

**ATF** started as a Google Summer of Code 2007 project mentored by The NetBSD Foundation. Its original goal was to provide a testing framework for the NetBSD operating system, but it grew as an independent project because the framework itself did not need to be tied to a specific operating system.

Originally, **ATF** shipped the collection of libraries described in this manual page as well as a runtime engine. The runtime engine has since been replaced by Kyua and the old tools were removed in **0.20**, which shipped in early 2014.

As of late 2014, both FreeBSD and NetBSD ship **ATF** in their base systems and provide extensive test suites based on it.

For more details on historical changes, refer to:

```
/usr/share/doc/atf/NEWS.md
```

## AUTHORS

For more details on the people that made **ATF** possible, refer to:

```
/usr/share/doc/atf/AUTHORS
```
