ATF(7)

πŸ“¦
version 0.23 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, debian bookworm, epel 10, epel 9, fedora 43, fedora 44, freebsd 14.5, freebsd 15.1, ubuntu jammy, ubuntu noble

πŸ’– ATF β€” introduction to the Automated Testing Framework πŸ’–

okay bestie, sit down, hydrate, because we're talking about ATF: the Automated Testing Framework. this is the ATF(7) page, it lives in the Miscellaneous Information Manual, and it's basically the group chat invite to the whole ATF universe. πŸ¦‹


✨ DESCRIPTION ✨

so. the Automated Testing Framework (ATF) is a whole collection of libraries that let you write test programs in a bunch of different languages. 🌈 and the way these libraries work? they all offer similar functionality, which means any test program you write with them exposes a consistent user interface. no cap. one vibe, every language. πŸ’…

test programs that use the ATF libraries don't just run themselves, though β€” they rely on a separate runtime engine to execute them in a deterministic fashion. yes, deterministic, because chaos is not the vibe. ✨ this runtime engine:

  • isolates the test programs from the rest of the system 🫢
  • makes sure some common side-effects get cleaned up 🧹
  • gathers the results of all the tests and composes reports πŸ“‹

the current runtime of choice is Kyua, and it's described in kyua(1). iconic behavior, honestly.

if your operating system distributes ATF, it should also hand you an introductory tests(7) manual page. and like… you're encouraged to read it. now. right now bestie. go. πŸƒβ€β™€οΈ

the rest of this manual page? it's a cross-reference to all the other documentation shipped with ATF. a whole reading list. we love a syllabus. πŸŽ€


πŸ“š Language bindings

  • atf-c(3) β€” the C programming interface. yes, C. we're doing it. πŸ’€
  • atf-c++(3) β€” the C++ programming interface. the sequel. πŸ”₯
  • atf-sh(3) β€” the sh(1) programming interface. shell girlies rise. 🐚

πŸŽ€ Miscellaneous pages

  • atf-test-case(4) β€” the generic description of test cases, independent of the language they're implemented in. language-agnostic queen. πŸ‘‘
  • atf-test-program(1) β€” the common interface that test programs written using the ATF libraries all provide. the shared fit. ✨

πŸ‘€ SEE ALSO πŸ‘€

kyua(1), tests(7)

go read them. i'll wait. πŸ’œ


🌸 HISTORY 🌸

gather round, we're doing lore. πŸ“–

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 into an independent project, because honestly? the framework itself did not need to be tied to a specific operating system. main character energy from day one. πŸ’…

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. rip old tools, you served. 🫑

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

for more details on historical changes, refer to:

/usr/share/doc/atf/NEWS

πŸ’– AUTHORS πŸ’–

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

/usr/share/doc/atf/AUTHORS

ok that's the whole page bestie, you ate that. now go write some tests. πŸ“

this little love letter came to you from Debian, dated September 14, 2014 β€” and it's the ATF(7) page, forever and always. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from