2 <html xmlns=
"http://www.w3.org/1999/xhtml">
4 <meta xmlns=
"" http-equiv=
"Content-Type"
5 content=
"text/html; charset=iso-8859-1" />
6 <link xmlns=
"" rel=
"made"
7 href=
"mailto:atf-devel AT NetBSD DOT org" />
8 <link xmlns=
"" rel=
"stylesheet" type=
"text/css"
9 href=
"standalone.css" />
10 <title xmlns=
"">Major changes in ATF releases
</title>
13 <div xmlns=
"" class=
"header">
14 <p class=
"title">Major changes in ATF releases
</p>
15 <p class=
"author">By Julio Merino, The NetBSD Foundation
</p>
17 <div xmlns=
"" class=
"toc">
22 <a href=
"#atf-0-7">Changes in version
0.7</a>
27 <a href=
"#atf-0-6">Changes in version
0.6</a>
32 <a href=
"#atf-0-5">Changes in version
0.5</a>
37 <a href=
"#atf-0-4">Changes in version
0.4</a>
42 <a href=
"#atf-0-3">Changes in version
0.3</a>
47 <a href=
"#atf-0-2">Changes in version
0.2</a>
52 <a href=
"#atf-0-1">Changes in version
0.1</a>
57 <div xmlns=
"" class=
"contents">
59 <a name=
"atf-0-7">Changes in version
0.7</a>
61 <p xml:
space=
"preserve">
62 Experimental version released on December
22nd,
2009.
66 <p xml:
space=
"preserve">
67 Added build-time checks to atf-c and atf-c++. A binding
68 for atf-sh will come later.
72 <p xml:
space=
"preserve">
73 Migrated all build-time checks for header files to proper
74 ATF tests. This demonstrates the use of the new feature described
79 <p xml:
space=
"preserve">
80 Added an internal API for child process
85 <p xml:
space=
"preserve">
86 Converted all plain-text distribution documents to a Docbook
87 canonical version, and include pre-generated plain text and HTML
89 the distribution file.
93 <p xml:
space=
"preserve">
94 Simplified the contents of the
95 <tt class=
"filename">Makefile.am
</tt> by regenerating it from a
97 <tt class=
"filename">Makefile.am.m4
</tt> source. As a side-effect,
99 dependency specifications were fixed.
103 <p xml:
space=
"preserve">
104 Migrated all checks from the
105 <tt>check
</tt> target
107 <tt>installcheck
</tt>, as these require ATF to be
112 <p xml:
space=
"preserve">
113 Fixed sign comparison mismatches triggered by
115 <tt>-Wsign-compare
</tt>.
119 <p xml:
space=
"preserve">
120 Fixed many memory and object leaks.
125 <a name=
"atf-0-6">Changes in version
0.6</a>
127 <p xml:
space=
"preserve">
128 Experimental version released on January
18th,
2009.
132 <p xml:
space=
"preserve">
133 Make atf-exec be able to kill its child process after a
134 certain period of time; this is controlled through the new -t
139 <p xml:
space=
"preserve">
140 Change atf-sh to use atf-exec's -t option to control the
141 test case's timeouts, instead of doing it internally. Same
143 before, but noticeably faster.
147 <p xml:
space=
"preserve">
148 atf-exec's -g option and atf-killpg are gone due to the
153 <p xml:
space=
"preserve">
154 Added the atf-check(
1) tool, a program that executes a
155 given command and checks its exit code against a known value and
157 management of stdout and stderr in multiple ways. This replaces
159 previous atf_check function in the atf-sh library and exposes this
160 functionality to both atf-c and atf-c++.
164 <p xml:
space=
"preserve">
165 Added the ATF_REQUIRE family of macros to the C interface.
166 These help in checking for fatal test conditions. The old
168 now perform non-fatal checks only. I.e. by using ATF_CHECK, the
170 can now continue its execution and the failures will not be
172 the end of the whole run.
176 <p xml:
space=
"preserve">
177 Extended the amount of ATF_CHECK_* C macros with new ones
178 to provide more features to the developer. These also have their
179 corresponding counterparts in the ATF_REQUIRE_* family. The new
181 (listing the suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG,
188 <a name=
"atf-0-5">Changes in version
0.5</a>
190 <p xml:
space=
"preserve">
191 Experimental version released on May
1st,
2008.
195 <p xml:
space=
"preserve">
196 Clauses
3 and
4 of the BSD license used by the project were
197 dropped. All the code is now under a
2-clause BSD license
199 the GNU General Public License (GPL).
203 <p xml:
space=
"preserve">
204 Added a C-only binding so that binary test programs do not
205 need to be tied to C++ at all. This binding is now known as the
211 <p xml:
space=
"preserve">
212 Renamed the C++ binding to atf-c++ for consistency with the
217 <p xml:
space=
"preserve">
218 Renamed the POSIX shell binding to atf-sh for consistency
219 with the new atf-c and atf-c++.
223 <p xml:
space=
"preserve">
224 Added a -w flag to test programs through which it is
225 possible to specify the work directory to be used. This was
227 prior releases by defining the workdir configuration variable (-v
228 workdir=...), but was a conceptually incorrect mechanism.
232 <p xml:
space=
"preserve">
233 Test programs now preserve the execution order of test
234 cases when they are given in the command line. Even those
236 than once are executed multiple times to comply with the user's
242 <a name=
"atf-0-4">Changes in version
0.4</a>
244 <p xml:
space=
"preserve">
245 Experimental version released on February
4th,
2008.
249 <p xml:
space=
"preserve">
250 Added two new manual pages, atf-c++-api and atf-sh-api,
251 describing the C++ and POSIX shell interfaces used to write test
256 <p xml:
space=
"preserve">
257 Added a pkg-config file, useful to get the flags to build
258 against the C++ library or to easily detect the presence of
263 <p xml:
space=
"preserve">
264 Added a way for test cases to require a specific
265 architecture and/or machine type through the new 'require.arch' and
266 'require.machine' meta-data properties, respectively.
270 <p xml:
space=
"preserve">
271 Added the 'timeout' property to test cases, useful to set
272 an upper-bound limit for the test's run time and thus prevent
274 program stalls due to the test case's misbehavior.
278 <p xml:
space=
"preserve">
279 Added the atf-exec(
1) internal utility, used to execute a
280 command after changing the process group it belongs to.
284 <p xml:
space=
"preserve">
285 Added the atf-killpg(
1) internal utility, used to kill
290 <p xml:
space=
"preserve">
291 Multiple portability fixes. Of special interest, full
292 support for SunOS (Solaris Express Developer Edition
2007/
09) using
294 Studio
12 C++ compiler.
298 <p xml:
space=
"preserve">
299 Fixed a serious bug that prevented atf-run(
1) from working
300 at all under Fedora
8 x86_64. Due to the nature of the bug, other
301 platforms were likely affected too.
306 <a name=
"atf-0-3">Changes in version
0.3</a>
308 <p xml:
space=
"preserve">
309 Experimental version released on November
11th,
2007.
313 <p xml:
space=
"preserve">
314 Added XML output support to atf-report. This is
315 accompanied by a DTD for the format's structure and sample XSLT/CSS
317 to post-process this output and convert it to a plain HTML
322 <p xml:
space=
"preserve">
323 Changed atf-run to add system information to the report it
324 generates. This is currently used by atf-report's XML output only,
326 later printed in the HTML reports in a nice and useful summary
328 user and system administrator are allowed to tune this feature by
334 <p xml:
space=
"preserve">
335 Removed the test cases' 'isolated' property. This was
336 intended to avoid touching the file system at all when running the
338 test case, but this has not been true for a long while: some
340 are unconditionally required for several purposes, and we cannot
342 rid of them. This way we remove several critical and delicate
348 <p xml:
space=
"preserve">
349 Improved atf-report's CSV output format to include
350 information about test programs too.
354 <p xml:
space=
"preserve">
355 Fixed the tests that used atf-compile to not require this
356 tool as a helper. Avoids systems without build-time utilities to
358 tests that could otherwise be run. (E.g. NetBSD without the
364 <p xml:
space=
"preserve">
365 Many general cleanups: Fixed many pieces of code marked as
366 ugly and/or incomplete.
371 <a name=
"atf-0-2">Changes in version
0.2</a>
373 <p xml:
space=
"preserve">
374 Experimental version released on September
20th,
2007.
378 <p xml:
space=
"preserve">
379 Test cases now get a known umask on
384 <p xml:
space=
"preserve">
385 atf-run now detects many unexpected failures caused by test
386 programs and reports them as bogus tests. atf-report is able to
388 these new errors and nicely reports them to the user.
392 <p xml:
space=
"preserve">
393 All the data formats read and written by the tools have
394 been documented and cleaned up. These include those grammars that
396 how the different components communicate with each other as well as
398 format of files written by the developers and users: the Atffiles
404 <p xml:
space=
"preserve">
405 Added the atf-version tool, a utility that displays
406 information about the currently installed version of ATF.
410 <p xml:
space=
"preserve">
411 Test cases can now define an optional cleanup routine to
412 undo their actions regardless of their exit status.
416 <p xml:
space=
"preserve">
417 atf-report now summarizes the list of failed (bogus) test
418 programs when using the ticker output format.
422 <p xml:
space=
"preserve">
423 Test programs now capture some termination signals and
424 clean up any temporary files before exiting the program.
428 <p xml:
space=
"preserve">
429 Multiple bug fixes and improvements all
435 <a name=
"atf-0-1">Changes in version
0.1</a>
437 <p xml:
space=
"preserve">
438 Experimental version released on August
20th,
2007.
442 <p xml:
space=
"preserve">
443 First public version. This was released coinciding with
444 the end of the Google Summer of Code
2007 program.