ATF-TEST-PROGRAM(1)

πŸ’– ATF-TEST-PROGRAM(1) πŸ’–

General Commands Manual ✨ the atf-test-program era

okay bestie, sit down, hydrate, because this is the manual page for atf-test-program β€” the common interface to ATF test programs. 🫢


✨ NAME ✨

atf-test-program β€” the common interface to ATF test programs. that's it, that's the name, no notes πŸ’…


🌸 SYNOPSIS 🌸

atf-test-program [-r resfile] [-s srcdir]
                 [-v var1=value1 [.. -v varN=valueN]] test_case
atf-test-program -l

like, two whole forms. two. she contains multitudes ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: test programs written using the ATF libraries all share a common user interface, and this manual page is literally describing that interface. πŸ’–

NOTE: there is no binary known as atf-test-program. like, it does not exist as a real executable bestie 😭 what this manual page describes is the command-line interface exposed by the atf-c, atf-c++ and atf-sh bindings. no cap.

First synopsis form β€” the main character form πŸ‘‘

the test program will execute the provided test_case and print its results to the standard output, unless otherwise stated by the -r flag. lowkey important.

optionally, the test_case name can be suffixed by :cleanup, in which case the cleanup routine of the test case will be executed instead of the test case body. see atf-test-case(4) for the lore πŸ“–

⚠️ note that the test case is executed without isolation, so it can and probably will create and modify files in the current directory. she is ungovernable. πŸ™ˆ

to execute test cases in a controller manner, you need a runtime engine that understands the ATF interface. the recommended runtime engine is kyua(1). periodt.

🚨 you should only execute test cases by hand for debugging purposes. that's the vibe check. do not make this your whole personality.

Second synopsis form β€” the listy form πŸ“‹

the test program will list all available test cases alongside their meta-data properties in a format that is machine parseable. this list is processed by kyua(1) so it knows how to execute the test cases of a given test program. iconic behaviour honestly.


πŸŽ€ the following options are available πŸŽ€

  • -l β€” lists available test cases alongside a brief description for each of them. short, sweet, slay.
  • -r resfile β€” specifies the file that will receive the test case result. if not specified, the test case prints its results to stdout. if the result of a test case needs to be parsed by another program, you must use this option to redirect the result to a file and then read the resulting file from the other program. πŸ’Ύ
Note: do not try to process the stdout of the test case because your program may break in the future. fr fr. don't do it. i'm begging. 😭
  • -s srcdir β€” the path to the directory where the test program is located. this is needed in all cases, except when the test program is being executed from the current directory. the test program will use this path to locate any helper data files or utilities. πŸ—‚οΈ
  • -v var=value β€” sets the configuration variable var to the value value. that's the whole thing. simple. elegant. πŸ’…

🌈 SEE ALSO 🌈


and that's the page bestie!! πŸ’œ from the Debian crew, dated March 2, 2014 β€” go forth and test responsibly, mwah πŸŽ€βœ¨

πŸ“¦ where this page comes from