NEWS revision 1.1 1 1.1 jmmv Automated Testing Framework (atf)
2 1.1 jmmv The NetBSD Foundation, Inc.
3 1.1 jmmv ---------------------------------------------------------------------------
4 1.1 jmmv
5 1.1 jmmv
6 1.1 jmmv Version 0.6
7 1.1 jmmv ===========
8 1.1 jmmv
9 1.1 jmmv Release date: January 18th, 2009
10 1.1 jmmv Status: Experimental
11 1.1 jmmv
12 1.1 jmmv * Make atf-exec be able to kill its child process after a certain period of
13 1.1 jmmv time; this is controlled through the new -t option.
14 1.1 jmmv
15 1.1 jmmv * Change atf-sh to use atf-exec's -t option to control the test case's
16 1.1 jmmv timeouts, instead of doing it internally. Same behavior as before, but
17 1.1 jmmv noticeably faster.
18 1.1 jmmv
19 1.1 jmmv * atf-exec's -g option and atf-killpg are gone due to the previous change.
20 1.1 jmmv
21 1.1 jmmv * Added the atf-check(1) tool, a program that executes a given command and
22 1.1 jmmv checks its exit code against a known value and allows the management of
23 1.1 jmmv stdout and stderr in multiple ways. This replaces the previous atf_check
24 1.1 jmmv function in the atf-sh library and exposes this functionality to both
25 1.1 jmmv atf-c and atf-c++.
26 1.1 jmmv
27 1.1 jmmv * Added the ATF_REQUIRE family of macros to the C interface. These help
28 1.1 jmmv in checking for fatal test conditions. The old ATF_CHECK macros now
29 1.1 jmmv perform non-fatal checks only. I.e. by using ATF_CHECK, the test case
30 1.1 jmmv can now continue its execution and the failures will not be reported
31 1.1 jmmv until the end of the whole run.
32 1.1 jmmv
33 1.1 jmmv * Extended the amount of ATF_CHECK_* C macros with new ones to provide more
34 1.1 jmmv features to the developer. These also have their corresponding
35 1.1 jmmv counterparts in the ATF_REQUIRE_* family. The new macros (listing the
36 1.1 jmmv suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG, _STREQ and
37 1.1 jmmv _STREQ_MSG.
38 1.1 jmmv
39 1.1 jmmv
40 1.1 jmmv Version 0.5
41 1.1 jmmv ===========
42 1.1 jmmv
43 1.1 jmmv Release date: May 1st, 2008
44 1.1 jmmv Status: Experimental
45 1.1 jmmv
46 1.1 jmmv * Clauses 3 and 4 of the BSD license used by the project were dropped.
47 1.1 jmmv All the code is now under a 2-clause BSD license compatible with the
48 1.1 jmmv GNU General Public License (GPL).
49 1.1 jmmv
50 1.1 jmmv * Added a C-only binding so that binary test programs do not need to be
51 1.1 jmmv tied to C++ at all. This binding is now known as the atf-c library.
52 1.1 jmmv
53 1.1 jmmv * Renamed the C++ binding to atf-c++ for consistency with the new atf-c.
54 1.1 jmmv
55 1.1 jmmv * Renamed the POSIX shell binding to atf-sh for consistency with the new
56 1.1 jmmv atf-c and atf-c++.
57 1.1 jmmv
58 1.1 jmmv * Added a -w flag to test programs through which it is possible to specify
59 1.1 jmmv the work directory to be used. This was possible in prior releases by
60 1.1 jmmv defining the workdir configuration variable (-v workdir=...), but was a
61 1.1 jmmv conceptually incorrect mechanism.
62 1.1 jmmv
63 1.1 jmmv * Test programs now preserve the execution order of test cases when they
64 1.1 jmmv are given in the command line. Even those mentioned more than once are
65 1.1 jmmv executed multiple times to comply with the user's requests.
66 1.1 jmmv
67 1.1 jmmv
68 1.1 jmmv Version 0.4
69 1.1 jmmv ===========
70 1.1 jmmv
71 1.1 jmmv Release date: February 4th, 2008
72 1.1 jmmv Status: Experimental
73 1.1 jmmv
74 1.1 jmmv Changes:
75 1.1 jmmv
76 1.1 jmmv * Added two new manual pages, atf-c++-api and atf-sh-api, describing the
77 1.1 jmmv C++ and POSIX shell interfaces used to write test programs.
78 1.1 jmmv
79 1.1 jmmv * Added a pkg-config file, useful to get the flags to build against the
80 1.1 jmmv C++ library or to easily detect the presence of ATF.
81 1.1 jmmv
82 1.1 jmmv * Added a way for test cases to require a specific architecture and/or
83 1.1 jmmv machine type through the new 'require.arch' and 'require.machine'
84 1.1 jmmv meta-data properties, respectively.
85 1.1 jmmv
86 1.1 jmmv * Added the 'timeout' property to test cases, useful to set an upper-bound
87 1.1 jmmv limit for the test's run time and thus prevent global test program stalls
88 1.1 jmmv due to the test case's misbehavior.
89 1.1 jmmv
90 1.1 jmmv * Added the atf-exec(1) internal utility, used to execute a command after
91 1.1 jmmv changing the process group it belongs to.
92 1.1 jmmv
93 1.1 jmmv * Added the atf-killpg(1) internal utility, used to kill process groups.
94 1.1 jmmv
95 1.1 jmmv * Multiple portability fixes. Of special interest, full support for SunOS
96 1.1 jmmv (Solaris Express Developer Edition 2007/09) using the Sun Studio 12 C++
97 1.1 jmmv compiler.
98 1.1 jmmv
99 1.1 jmmv * Fixed a serious bug that prevented atf-run(1) from working at all under
100 1.1 jmmv Fedora 8 x86_64. Due to the nature of the bug, other platforms were
101 1.1 jmmv likely affected too.
102 1.1 jmmv
103 1.1 jmmv
104 1.1 jmmv Version 0.3
105 1.1 jmmv ===========
106 1.1 jmmv
107 1.1 jmmv Release date: November 11th, 2007
108 1.1 jmmv Status: Experimental
109 1.1 jmmv
110 1.1 jmmv Changes:
111 1.1 jmmv
112 1.1 jmmv * Added XML output support to atf-report. This is accompanied by a DTD for
113 1.1 jmmv the format's structure and sample XSLT/CSS files to post-process this
114 1.1 jmmv output and convert it to a plain HTML report.
115 1.1 jmmv
116 1.1 jmmv * Changed atf-run to add system information to the report it generates.
117 1.1 jmmv This is currently used by atf-report's XML output only, and is later
118 1.1 jmmv printed in the HTML reports in a nice and useful summary table. The user
119 1.1 jmmv and system administrator are allowed to tune this feature by means of
120 1.1 jmmv hooks.
121 1.1 jmmv
122 1.1 jmmv * Removed the test cases' 'isolated' property. This was intended to avoid
123 1.1 jmmv touching the file system at all when running the related test case, but
124 1.1 jmmv this has not been true for a long while: some control files are
125 1.1 jmmv unconditionally required for several purposes, and we cannot easily get
126 1.1 jmmv rid of them. This way we remove several critical and delicate pieces of
127 1.1 jmmv code.
128 1.1 jmmv
129 1.1 jmmv * Improved atf-report's CSV output format to include information about
130 1.1 jmmv test programs too.
131 1.1 jmmv
132 1.1 jmmv * Fixed the tests that used atf-compile to not require this tool as a
133 1.1 jmmv helper. Avoids systems without build-time utilities to skip many tests
134 1.1 jmmv that could otherwise be run. (E.g. NetBSD without the comp.tgz set
135 1.1 jmmv installed.)
136 1.1 jmmv
137 1.1 jmmv * Many general cleanups: Fixed many pieces of code marked as ugly and/or
138 1.1 jmmv incomplete.
139 1.1 jmmv
140 1.1 jmmv
141 1.1 jmmv Version 0.2
142 1.1 jmmv ===========
143 1.1 jmmv
144 1.1 jmmv Release date: September 20th, 2007
145 1.1 jmmv Status: Experimental
146 1.1 jmmv
147 1.1 jmmv Changes:
148 1.1 jmmv
149 1.1 jmmv * Test cases now get a known umask on entry.
150 1.1 jmmv
151 1.1 jmmv * atf-run now detects many unexpected failures caused by test programs
152 1.1 jmmv and reports them as bogus tests. atf-report is able to handle these
153 1.1 jmmv new errors and nicely reports them to the user.
154 1.1 jmmv
155 1.1 jmmv * All the data formats read and written by the tools have been documented
156 1.1 jmmv and cleaned up. These include those grammars that define how the
157 1.1 jmmv different components communicate with each other as well as the format
158 1.1 jmmv of files written by the developers and users: the Atffiles and the
159 1.1 jmmv configuration files.
160 1.1 jmmv
161 1.1 jmmv * Added the atf-version tool, a utility that displays information about the
162 1.1 jmmv currently installed version of ATF.
163 1.1 jmmv
164 1.1 jmmv * Test cases can now define an optional cleanup routine to undo their
165 1.1 jmmv actions regardless of their exit status.
166 1.1 jmmv
167 1.1 jmmv * atf-report now summarizes the list of failed (bogus) test programs when
168 1.1 jmmv using the ticker output format.
169 1.1 jmmv
170 1.1 jmmv * Test programs now capture some termination signals and clean up any
171 1.1 jmmv temporary files before exiting the program.
172 1.1 jmmv
173 1.1 jmmv * Multiple bug fixes and improvements all around.
174 1.1 jmmv
175 1.1 jmmv
176 1.1 jmmv Version 0.1
177 1.1 jmmv ===========
178 1.1 jmmv
179 1.1 jmmv Release date: August 20th, 2007
180 1.1 jmmv Status: Experimental
181 1.1 jmmv
182 1.1 jmmv Changes:
183 1.1 jmmv
184 1.1 jmmv * First public version. This was released coinciding with the end of the
185 1.1 jmmv Google Summer of Code 2007 program.
186 1.1 jmmv
187 1.1 jmmv
188 1.1 jmmv ---------------------------------------------------------------------------
189 1.1 jmmv End of document
190