Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / bsd / atf / dist / doc / standalone / news.html
blob6891d46ba492cf955aa937ec173380e03a6f7bce
1 <?xml version="1.0"?>
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
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>
11 </head>
12 <body>
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>
16 </div>
17 <div xmlns="" class="toc">
18 <h1>Contents</h1>
19 <ol>
20 <li>
21 <p>
22 <a href="#atf-0-7">Changes in version 0.7</a>
23 </p>
24 </li>
25 <li>
26 <p>
27 <a href="#atf-0-6">Changes in version 0.6</a>
28 </p>
29 </li>
30 <li>
31 <p>
32 <a href="#atf-0-5">Changes in version 0.5</a>
33 </p>
34 </li>
35 <li>
36 <p>
37 <a href="#atf-0-4">Changes in version 0.4</a>
38 </p>
39 </li>
40 <li>
41 <p>
42 <a href="#atf-0-3">Changes in version 0.3</a>
43 </p>
44 </li>
45 <li>
46 <p>
47 <a href="#atf-0-2">Changes in version 0.2</a>
48 </p>
49 </li>
50 <li>
51 <p>
52 <a href="#atf-0-1">Changes in version 0.1</a>
53 </p>
54 </li>
55 </ol>
56 </div>
57 <div xmlns="" class="contents">
58 <h1>
59 <a name="atf-0-7">Changes in version 0.7</a>
60 </h1>
61 <p xml:space="preserve">
62 Experimental version released on December 22nd, 2009.
63 </p>
64 <ul>
65 <li>
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.
69 </p>
70 </li>
71 <li>
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
75 above.
76 </p>
77 </li>
78 <li>
79 <p xml:space="preserve">
80 Added an internal API for child process
81 management.
82 </p>
83 </li>
84 <li>
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
88 copies in
89 the distribution file.
90 </p>
91 </li>
92 <li>
93 <p xml:space="preserve">
94 Simplified the contents of the
95 <tt class="filename">Makefile.am</tt> by regenerating it from a
96 canonical
97 <tt class="filename">Makefile.am.m4</tt> source. As a side-effect,
98 some
99 dependency specifications were fixed.
100 </p>
101 </li>
102 <li>
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
108 installed.
109 </p>
110 </li>
111 <li>
112 <p xml:space="preserve">
113 Fixed sign comparison mismatches triggered by
114 the now-enabled
115 <tt>-Wsign-compare</tt>.
116 </p>
117 </li>
118 <li>
119 <p xml:space="preserve">
120 Fixed many memory and object leaks.
121 </p>
122 </li>
123 </ul>
124 <h1>
125 <a name="atf-0-6">Changes in version 0.6</a>
126 </h1>
127 <p xml:space="preserve">
128 Experimental version released on January 18th, 2009.
129 </p>
130 <ul>
131 <li>
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
135 option.
136 </p>
137 </li>
138 <li>
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
142 behavior as
143 before, but noticeably faster.
144 </p>
145 </li>
146 <li>
147 <p xml:space="preserve">
148 atf-exec's -g option and atf-killpg are gone due to the
149 previous change.
150 </p>
151 </li>
152 <li>
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
156 allows the
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++.
161 </p>
162 </li>
163 <li>
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
167 ATF_CHECK macros
168 now perform non-fatal checks only. I.e. by using ATF_CHECK, the
169 test case
170 can now continue its execution and the failures will not be
171 reported until
172 the end of the whole run.
173 </p>
174 </li>
175 <li>
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
180 macros
181 (listing the suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG,
182 _STREQ and
183 _STREQ_MSG.
184 </p>
185 </li>
186 </ul>
187 <h1>
188 <a name="atf-0-5">Changes in version 0.5</a>
189 </h1>
190 <p xml:space="preserve">
191 Experimental version released on May 1st, 2008.
192 </p>
193 <ul>
194 <li>
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
198 compatible with
199 the GNU General Public License (GPL).
200 </p>
201 </li>
202 <li>
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
206 atf-c
207 library.
208 </p>
209 </li>
210 <li>
211 <p xml:space="preserve">
212 Renamed the C++ binding to atf-c++ for consistency with the
213 new atf-c.
214 </p>
215 </li>
216 <li>
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++.
220 </p>
221 </li>
222 <li>
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
226 possible in
227 prior releases by defining the workdir configuration variable (-v
228 workdir=...), but was a conceptually incorrect mechanism.
229 </p>
230 </li>
231 <li>
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
235 mentioned more
236 than once are executed multiple times to comply with the user's
237 requests.
238 </p>
239 </li>
240 </ul>
241 <h1>
242 <a name="atf-0-4">Changes in version 0.4</a>
243 </h1>
244 <p xml:space="preserve">
245 Experimental version released on February 4th, 2008.
246 </p>
247 <ul>
248 <li>
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
252 programs.
253 </p>
254 </li>
255 <li>
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
259 ATF.
260 </p>
261 </li>
262 <li>
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.
267 </p>
268 </li>
269 <li>
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
273 global test
274 program stalls due to the test case's misbehavior.
275 </p>
276 </li>
277 <li>
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.
281 </p>
282 </li>
283 <li>
284 <p xml:space="preserve">
285 Added the atf-killpg(1) internal utility, used to kill
286 process groups.
287 </p>
288 </li>
289 <li>
290 <p xml:space="preserve">
291 Multiple portability fixes. Of special interest, full
292 support for SunOS (Solaris Express Developer Edition 2007/09) using
293 the Sun
294 Studio 12 C++ compiler.
295 </p>
296 </li>
297 <li>
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.
302 </p>
303 </li>
304 </ul>
305 <h1>
306 <a name="atf-0-3">Changes in version 0.3</a>
307 </h1>
308 <p xml:space="preserve">
309 Experimental version released on November 11th, 2007.
310 </p>
311 <ul>
312 <li>
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
316 files
317 to post-process this output and convert it to a plain HTML
318 report.
319 </p>
320 </li>
321 <li>
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,
325 and is
326 later printed in the HTML reports in a nice and useful summary
327 table. The
328 user and system administrator are allowed to tune this feature by
329 means of
330 hooks.
331 </p>
332 </li>
333 <li>
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
337 related
338 test case, but this has not been true for a long while: some
339 control files
340 are unconditionally required for several purposes, and we cannot
341 easily get
342 rid of them. This way we remove several critical and delicate
343 pieces of
344 code.
345 </p>
346 </li>
347 <li>
348 <p xml:space="preserve">
349 Improved atf-report's CSV output format to include
350 information about test programs too.
351 </p>
352 </li>
353 <li>
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
357 skip many
358 tests that could otherwise be run. (E.g. NetBSD without the
359 comp.tgz set
360 installed.)
361 </p>
362 </li>
363 <li>
364 <p xml:space="preserve">
365 Many general cleanups: Fixed many pieces of code marked as
366 ugly and/or incomplete.
367 </p>
368 </li>
369 </ul>
370 <h1>
371 <a name="atf-0-2">Changes in version 0.2</a>
372 </h1>
373 <p xml:space="preserve">
374 Experimental version released on September 20th, 2007.
375 </p>
376 <ul>
377 <li>
378 <p xml:space="preserve">
379 Test cases now get a known umask on
380 entry.
381 </p>
382 </li>
383 <li>
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
387 handle
388 these new errors and nicely reports them to the user.
389 </p>
390 </li>
391 <li>
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
395 define
396 how the different components communicate with each other as well as
398 format of files written by the developers and users: the Atffiles
399 and the
400 configuration files.
401 </p>
402 </li>
403 <li>
404 <p xml:space="preserve">
405 Added the atf-version tool, a utility that displays
406 information about the currently installed version of ATF.
407 </p>
408 </li>
409 <li>
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.
413 </p>
414 </li>
415 <li>
416 <p xml:space="preserve">
417 atf-report now summarizes the list of failed (bogus) test
418 programs when using the ticker output format.
419 </p>
420 </li>
421 <li>
422 <p xml:space="preserve">
423 Test programs now capture some termination signals and
424 clean up any temporary files before exiting the program.
425 </p>
426 </li>
427 <li>
428 <p xml:space="preserve">
429 Multiple bug fixes and improvements all
430 around.
431 </p>
432 </li>
433 </ul>
434 <h1>
435 <a name="atf-0-1">Changes in version 0.1</a>
436 </h1>
437 <p xml:space="preserve">
438 Experimental version released on August 20th, 2007.
439 </p>
440 <ul>
441 <li>
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.
445 </p>
446 </li>
447 </ul>
448 </div>
449 </body>
450 </html>