xref: /freebsd/contrib/atf/doc/atf.7.in (revision c68eed82a3dcadf0c826e9e150f59769f4c44f24)
1.\" Copyright (c) 2007 The NetBSD Foundation, Inc.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
14.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
15.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17.\" IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
18.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
20.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
22.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
24.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25.Dd September 14, 2014
26.Dt ATF 7
27.Os
28.Sh NAME
29.Nm ATF
30.Nd introduction to the Automated Testing Framework
31.Sh DESCRIPTION
32The Automated Testing Framework
33.Pf ( Nm )
34is a
35.Em collection of libraries
36to implement test programs in a variety of languages.
37These libraries all offer similar functionality and any test program
38written with them exposes a consistent user interface.
39.Pp
40Test programs using the
41.Nm
42libraries rely on a separate runtime engine to execute them in a
43deterministic fashion.
44The runtime engine isolates the test programs from the rest of the system
45and ensures some common side-effects are cleaned up.
46The runtime engine is also responsible for gathering the results of all
47tests and composing reports.
48The current runtime of choice is Kyua, described in
49.Xr kyua 1 .
50.Pp
51If your operating systems distributes
52.Nm ,
53it should also provide an introductory
54.Xr tests 7
55manual page.
56You are encouraged to read it now.
57.Pp
58The rest of this manual page serves as a cross-reference to all the other
59documentation shipped with
60.Nm .
61.Ss Language bindings
62.Bl -tag -width atfXtestXprogramXXXXX
63.It Xr atf-c 3
64C programming interface.
65.It Xr atf-c++ 3
66C++ programming interface.
67.It Xr atf-sh 3
68.Xr sh 1
69programming interface.
70.El
71.Ss Miscellaneous pages
72.Bl -tag -width atfXtestXprogramXXXXX
73.It Xr atf-test-case 4
74Generic description of test cases, independent of the language they are
75implemented in.
76.It Xr atf-test-program 1
77Common interface provided by the test programs written using the
78.Nm
79libraries.
80.El
81.Sh SEE ALSO
82.Xr kyua 1 ,
83.Xr tests 7
84.Sh HISTORY
85.Nm
86started as a Google Summer of Code 2007 project mentored by The NetBSD
87Foundation.
88Its original goal was to provide a testing framework for the
89.Nx
90operating system, but it grew as an independent project because the
91framework itself did not need to be tied to a specific operating system.
92.Pp
93Originally,
94.Nm
95shipped the collection of libraries described in this manual page as well
96as a runtime engine.
97The runtime engine has since been replaced by Kyua and the old tools were
98removed in
99.Nm 0.20 ,
100which shipped in early 2014.
101.Pp
102As of late 2014, both
103.Fx
104and
105.Nx
106ship
107.Nm
108in their base systems and provide extensive test suites based on it.
109.Pp
110For more details on historical changes, refer to:
111.Bd -literal -offset indent
112.Pa __DOCDIR__/NEWS
113.Ed
114.Sh AUTHORS
115For more details on the people that made
116.Nm
117possible, refer to:
118.Bd -literal -offset indent
119.Pa __DOCDIR__/AUTHORS
120.Ed
121