1Major changes between releases Automated Testing Framework 2=========================================================================== 3 4Changes in version 0.22 5*********************** 6 7STILL UNDER DEVELOPMENT; NOT RELEASED YET. 8DON'T FORGET TO BUMP THE -version-info PRE-RELEASE IF NECESSARY! 9 10* Issue #23: Fix double-free triggered by atf_map_insert in low memory 11 scenarios, caused by an overlook in the atf_list code. 12 13* Issue #29: Fixed various typos and formatting errors in manual pages. 14 15* Issue #31: Added require.progs metadata properties to the tests that 16 need a compiler to run. 17 18* Added the atf_check_not_equal function to atf-sh to check for 19 unequal values. 20 21 22Changes in version 0.21 23*********************** 24 25Released on October 23rd, 2014. 26 27* Restored the atf(7) manual page to serve as a reference to all the other 28 manual pages shipped by ATF. 29 30* Added the -s flag to atf-sh to support specifying the shell interpreter 31 to be used. 32 33* Removed ATF_WORKDIR. The only remaining consumers have been converted to 34 use the standard TMPDIR environment variable. As a benefit, and because 35 Kyua forces the TMPDIR to live within the test case's work directory, 36 any stale files left behind by ATF will be automatically cleaned up. 37 38* Documented the environment variables recognized by each component in the 39 relevant manual pages. This information was lost with the atf-config(1) 40 removal. 41 42* Added a new "require.diskspace" metadata property to test cases so that 43 they can specify the minimum amount of disk space required for the test 44 to run. 45 46* Renamed the atf-{c,c++,sh}-api(3) manual pages to atf-{c,c++,sh}(3) for 47 discoverability purposes. Symbolic links are provided for the time 48 being to still make the old names visible. 49 50* Issue #5: Recommend the (expected, actual) idiom for calls to the test 51 macros in the manual pages. 52 53* Issue #7: Stopped catching unhandled exceptions in atf-c++ tests. This 54 propagates the crash to the caller, which in turn allows it to obtain 55 proper debugging information. In particular, Kyua should now be able to 56 extract a stacktrace pinpointing the problem. 57 58* Issue #8: Fixed atf-c/macros_test:use test failures spotted by the clang 59 that ships with FreeBSD 11.0-CURRENT. 60 61* Issue #12: Improved documentation of atf-sh(3) and atf-check(1) by better 62 explaining how they relate to each other. 63 64* Issue #14: Stopped setting 'set -e' in atf-sh. This setting was 65 initially added as a way to enable a "strict" mode in the library and to 66 make test cases fail fast when they run unprotected commands. However, 67 doing so in the library is surprising as the responsibility of enabling 68 'set -e' should be on the user's code. Also, 'set -e' introduces 69 inconsistent behavior on subshells and users do not expect that. 70 71* Issue #15: Fixed atf_utils_{fork,wait} to support nested calls. 72 73* Issue #16: Fixed test failures (by removing a long-standing hack) on 74 systems that lack \e support in printf(1). 75 76* Issue #19: Removed stale references to atf-config and atf-run. 77 78 79Changes in version 0.20 80*********************** 81 82Experimental version released on February 7th, 2014. 83 84This is the first release without the code for the deprecated tools. If 85you require such code, please fetch a copy of the 0.19 release and extract 86the 'tools' directory for your own consumption. 87 88* Removed the deprecated tools. This includes atf-config, atf-report, 89 atf-run and atf-version. 90 91* Issue #8: Fixed atf-c/macros_test:use test failures spotted by the clang 92 that ships with FreeBSD 11.0-CURRENT. 93 94 95Changes in version 0.19 96*********************** 97 98Experimental version released on February 7th, 2014. 99 100This is the last release to bundle the code for the deprecated tools. 101The next release will drop their code and will stop worrying about 102backwards compatibility between the ATF libraries and what the old tools 103may or may not support. 104 105If you still require the old tools for some reason, grab a copy of the 106'tools' directory now. The code in this directory is standalone and 107does not depend on any internal details of atf-c++ any longer. 108 109* Various fixes and improvements to support running as part of the FreeBSD 110 test suite. 111 112* Project hosting moved from Google Code (as a subproject of Kyua) to 113 GitHub (as a first-class project). The main reason for the change is 114 the suppression of binary downloads in Google Code on Jan 15th, 2014. 115 See https://github.com/jmmv/atf/ 116 117* Removed builtin help from atf-sh(1) and atf-check(1) for simplicity 118 reasons. In other words, their -h option is gone. 119 120* Moved the code of the deprecated tools into a 'tools' directory and 121 completely decoupled their code from the internals of atf-c++. The 122 reason for this is to painlessly allow a third-party to maintain a 123 copy of these tools after we delete them because upcoming changes to 124 atf-c++ would break the stale tools. 125 126 127Changes in version 0.18 128*********************** 129 130Experimental version released on November 16th, 2013. 131 132* Issue 45: Added require.memory support in atf-run for FreeBSD. 133 134* Fixed an issue with the handling of cin with libc++. 135 136* Issue 64: Fixed various mandoc formatting warnings. 137 138* NetBSD PR bin/48284: Made atf-check flush its progress message to 139 stdout so that an interrupted test case always shows the last message 140 being executed. 141 142* NetBSD PR bin/48285: Fixed atf_check examples in atf-sh-api(3). 143 144 145Changes in version 0.17 146*********************** 147 148Experimental version released on February 14th, 2013. 149 150* Added the atf_utils_cat_file, atf_utils_compare_file, 151 atf_utils_copy_file, atf_utils_create_file, atf_utils_file_exists, 152 atf_utils_fork, atf_utils_grep_file, atf_utils_grep_string, 153 atf_utils_readline, atf_utils_redirect and atf_utils_wait utility 154 functions to atf-c-api. Documented the already-public 155 atf_utils_free_charpp function. 156 157* Added the cat_file, compare_file, copy_file, create_file, file_exists, 158 fork, grep_collection, grep_file, grep_string, redirect and wait 159 functions to the atf::utils namespace of atf-c++-api. These are 160 wrappers around the same functions added to the atf-c-api library. 161 162* Added the ATF_CHECK_MATCH, ATF_CHECK_MATCH_MSG, ATF_REQUIRE_MATCH and 163 ATF_REQUIRE_MATCH_MSG macros to atf-c to simplify the validation of a 164 string against a regular expression. 165 166* Miscellaneous fixes for manpage typos and compilation problems with 167 clang. 168 169* Added caching of the results of those configure tests that rely on 170 executing a test program. This should help crossbuild systems by 171 providing a mechanism to pre-specify what the results should be. 172 173* PR bin/45690: Make atf-report convert any non-printable characters to 174 a plain-text representation (matching their corresponding hexadecimal 175 entities) in XML output files. This is to prevent the output of test 176 cases from breaking xsltproc later. 177 178 179Changes in version 0.16 180*********************** 181 182Experimental version released on July 10th, 2012. 183 184* Added a --enable-tools flag to configure to request the build of the 185 deprecated ATF tools, whose build is now disabled by default. In order 186 to continue running tests, you should migrate to Kyua instead of enabling 187 the build of the deprecated tools. The kyua-atf-compat package provides 188 transitional compatibility versions of atf-run and atf-report built on 189 top of Kyua. 190 191* Tweaked the ATF_TEST_CASE macro of atf-c++ so that the compiler can 192 detect defined but unused test cases. 193 194* PR bin/45859: Fixed some XSLT bugs that resulted in the tc-time and 195 tp-time XML tags leaking into the generated HTML file. Also improved 196 the CSS file slightly to correct alignment and color issues with the 197 timestamps column. 198 199* Optimized atf-c++/macros.hpp so that GNU G++ consumes less memory during 200 compilation with GNU G++. 201 202* Flipped the default to building shared libraries for atf-c and atf-c++, 203 and started versioning them. As a side-effect, this removes the 204 --enable-unstable-shared flag from configure that appears to not work any 205 more (under NetBSD). Additionally, some distributions require the use of 206 shared libraries for proper dependency tracking (e.g. Fedora), so it is 207 better if we do the right versioning upstream. 208 209* Project hosting moved from an adhoc solution (custom web site and 210 Monotone repository) to Google Code (standard wiki and Git). ATF now 211 lives in a subcomponent of the Kyua project. 212 213 214Changes in version 0.15 215*********************** 216 217Experimental version released on January 16th, 2012. 218 219* Respect stdin in atf-check. The previous release silenced stdin for any 220 processes spawned by atf, not only test programs, which caused breakage 221 in tests that pipe data through atf-check. 222 223* Performance improvements to atf-sh. 224 225* Enabled detection of unused parameters and variables in the code and 226 fixed all warnings. 227 228* Changed the behavior of "developer mode". Compiler warnings are now 229 enabled unconditionally regardless of whether we are in developer mode or 230 not; developer mode is now only used to perform strict warning checks and 231 to enable assertions. Additionally, developer mode is now only 232 automatically enabled when building from the repository, not for formal 233 releases. 234 235* Added new Autoconf M4 macros (ATF_ARG_WITH, ATF_CHECK_C and 236 ATF_CHECK_CXX) to provide a consistent way of defining a --with-arg flag 237 in configure scripts and detecting the presence of any of the ATF 238 bindings. Note that ATF_CHECK_SH was already introduced in 0.14, but it 239 has now been modified to also honor --with-atf if instantiated. 240 241* Added timing support to atf-run / atf-report. 242 243* Added support for a 'require.memory' property, to specify the minimum 244 amount of physical memory needed by the test case to yield valid results. 245 246* PR bin/45690: Force an ISO-8859-1 encoding in the XML files generated by 247 atf-report so that invalid data in the output of test cases does not 248 mangle our report. 249 250 251Changes in version 0.14 252*********************** 253 254Experimental version released on June 14th, 2011. 255 256* Added a pkg-config file for atf-sh and an aclocal file to ease the 257 detection of atf-sh from autoconf scripts. 258 259* Made the default test case body defined by atf_sh fail. This is to 260 ensure that test cases are properly defined in test programs and helps 261 in catching typos in the names of the body functions. 262 263* PR bin/44882: Made atf-run connect the stdin of test cases to /dev/zero. 264 This provides more consistent results with "normal" execution (in 265 particular, when tests are executed detached from a terminal). 266 267* Made atf-run hardcode TZ=UTC for test cases. It used to undefine TZ, but 268 that does not take into account that libc determines the current timezone 269 from a configuration file. 270 271* All test programs will now print a warning when they are not run through 272 atf-run(1) stating that this is unsupported and may deliver incorrect 273 results. 274 275* Added support for the 'require.files' test-case property. This allows 276 test cases to specify installed files that must be present for the test 277 case to run. 278 279 280Changes in version 0.13 281*********************** 282 283Experimental version released on March 31st, 2011. 284 285This is the first release after the creation of the Kyua project, a more 286modular and reliable replacement for ATF. From now on, ATF will change to 287accomodate the transition to this new codebase, but ATF will still continue 288to see development in the short/medium term. Check out the project page at 289http://code.google.com/p/kyua/ for more details. 290 291The changes in this release are: 292 293* Added support to run the tests with the Kyua runtime engine (kyua-cli), a 294 new package that aims to replace atf-run and atf-report. The ATF tests 295 can be run with the new system by issuing a 'make installcheck-kyua' from 296 the top-level directory of the project (assuming the 'kyua' binary is 297 available during the configuration stage of ATF). 298 299* atf-run and atf-report are now in maintenance mode (but *not* deprecated 300 yet!). Kyua already implements a new, much more reliable runtime engine 301 that provides similar features to these tools. That said, it is not 302 complete yet so all development efforts should go towards it. 303 304* If GDB is installed, atf-run dumps the stack trace of crashing test 305 programs in an attempt to aid debugging. Contributed by Antti Kantee. 306 307* Reverted default timeout change in previous release and reset its value 308 to 5 minutes. This was causing several issues, specially when running 309 the existing NetBSD test suite in qemu. 310 311* Fixed the 'match' output checker in atf-check to properly validate the 312 last line of a file even if it does not have a newline. 313 314* Added the ATF_REQUIRE_IN and ATF_REQUIRE_NOT_IN macros to atf-c++ to 315 check for the presence (or lack thereof) of an element in a collection. 316 317* PR bin/44176: Fixed a race condition in atf-run that would crash atf-run 318 when the cleanup of a test case triggered asynchronous modifications to 319 its work directory (e.g. killing a daemon process that cleans up a pid 320 file in the work directory). 321 322* PR bin/44301: Fixed the sample XSLT file to report bogus test programs 323 instead of just listing them as having 0 test cases. 324 325 326Changes in version 0.12 327*********************** 328 329Experimental version released on November 7th, 2010. 330 331* Added the ATF_REQUIRE_THROW_RE to atf-c++, which is the same as 332 ATF_REQUIRE_THROW but allows checking for the validity of the exception's 333 error message by means of a regular expression. 334 335* Added the ATF_REQUIRE_MATCH to atf-c++, which allows checking for a 336 regular expression match in a string. 337 338* Changed the default timeout for test cases from 5 minutes to 30 seconds. 339 30 seconds is long enough for virtually all tests to complete, and 5 340 minutes is a way too long pause in a test suite where a single test case 341 stalls. 342 343* Deprecated the use.fs property. While this seemed like a good idea in 344 the first place to impose more control on what test cases can do, it 345 turns out to be bad. First, use.fs=false prevents bogus test cases 346 from dumping core so after-the-fact debugging is harder. Second, 347 supporting use.fs adds a lot of unnecessary complexity. atf-run will 348 now ignore any value provided to use.fs and will allow test cases to 349 freely access the file system if they wish to. 350 351* Added the atf_tc_get_config_var_as_{bool,long}{,_wd} functions to the atf-c 352 library. The 'text' module became private in 0.11 but was being used 353 externally to simplify the parsing of configuration variables. 354 355* Made atf-run recognize the 'unprivileged-user' configuration variable 356 and automatically drop root privileges when a test case sets 357 require.user=unprivileged. Note that this is, by no means, done for 358 security purposes; this is just for user convenience; tests should, in 359 general, not be blindly run as root in the first place. 360 361 362Changes in version 0.11 363*********************** 364 365Experimental version released on October 20th, 2010. 366 367* The ATF_CHECK* macros in atf-c++ were renamed to ATF_REQUIRE* to match 368 their counterparts in atf-c. 369 370* Clearly separated the modules in atf-c that are supposed to be public 371 from those that are implementation details. The header files for the 372 internal modules are not installed any more. 373 374* Made the atf-check tool private. It is only required by atf-sh and being 375 public has the danger of causing confusion. Also, making it private 376 simplifies the public API of atf. 377 378* Changed atf-sh to enable per-command error checking (set -e) by default. 379 This catches many cases in which a test case is broken but it is not 380 reported as such because execution continues. 381 382* Fixed the XSTL and CSS stylesheets to support expected failures. 383 384 385Changes in version 0.10 386*********************** 387 388Experimental version released on July 2nd, 2010. 389 390Miscellaneous features 391 392* Added expected failures support to test cases and atf-run. These 393 include, for example, expected clean exits, expected reception of fatal 394 signals, expected timeouts and expected errors in condition checks. 395 These statuses can be used to denote test cases that are known to fail 396 due to a bug in the code they are testing. atf-report reports these 397 tests separately but they do not count towards the failed test cases 398 amount. 399 400* Added the ATF_CHECK_ERRNO and ATF_REQUIRE_ERRNO to the C library to 401 allow easy checking of call failures that update errno. 402 403* Added the has.cleanup meta-data property to test caes that specifies 404 whether the test case has a cleanup routine or not; its value is 405 automatically set. This property is read by atf-run to know if it has to 406 run the cleanup routine; skipping this run for every test case 407 significantly speeds up the run time of test suites. 408 409* Reversed the order of the ATF_CHECK_THROW macro in the C++ binding to 410 take the expected exception as the first argument and the statement to 411 execute as the second argument. 412 413Changes in atf-check 414 415* Changed atf-check to support negating the status and output checks by 416 prefixing them with not- and added support to specify multiple checkers 417 for stdout and stderr, not only one. 418 419* Added the match output checker to atf-check to look for regular 420 expressions in the stdout and stderr of commands. 421 422* Modified the exit checks in atf-check to support checking for the 423 reception of signals. 424 425Code simplifications and cleanups 426 427* Removed usage messages from test programs to simplify the 428 implementation of every binding by a significant amount. They just now 429 refer the user to the appropriate manual page and do not attempt to wrap 430 lines on terminal boundaries. Test programs are not supposed to be run 431 by users directly so this minor interface regression is not important. 432 433* Removed the atf-format internal utility, which is unused after the 434 change documented above. 435 436* Removed the atf-cleanup internal utility. It has been unused since the 437 test case isolation was moved to atf-run in 0.8 438 439* Splitted the Makefile.am into smaller files for easier maintenance and 440 dropped the use of M4. Only affects users building from the repository 441 sources. 442 443* Intermixed tests with the source files in the source tree to provide 444 them more visibility and easier access. The tests directory is gone from 445 the source tree and tests are now suffixed by _test, not prefixed by t_. 446 447* Simplifications to the atf-c library: removed the io, tcr and ui 448 modules as they had become unnecessary after all simplifications 449 introduced since the 0.8 release. 450 451* Removed the application/X-atf-tcr format introduced in 0.8 release. 452 Tests now print a much simplified format that is easy to parse and nicer 453 to read by end users. As a side effect, the default for test cases is 454 now to print their results to stdout unless otherwise stated by providing 455 the -r flag. 456 457* Removed XML distribution documents and replaced them with plain-text 458 documents. They provided little value and introduced a lot of complexity 459 to the build system. 460 461* Simplified the output of atf-version by not attempting to print a 462 revision number when building form a distfile. Makes the build system 463 easier to maintain. 464 465 466Changes in version 0.9 467********************** 468 469Experimental version released on June 3rd, 2010. 470 471* Added atf-sh, an interpreter to process test programs written using 472 the shell API. This is not really a shell interpreter by itself though: 473 it is just a wrapper around the system shell that eases the loading of 474 the necessary ATF libraries. 475 476* Removed atf-compile in favour of atf-sh. 477 478* Added the use.fs metadata property to test case, which is used to 479 specify which test cases require file system access. This is to 480 highlight dependencies on external resources more clearly and to speed up 481 the execution of test suites by skipping the creation of many unnecessary 482 work directories. 483 484* Fixed test programs to get a sane default value for their source 485 directory. This means that it should not be necessary any more to pass 486 -s when running test programs that do not live in the current directory. 487 488* Defining test case headers became optional. This is trivial to achieve 489 in shell-based tests but a bit ugly in C and C++. In C, use the new 490 ATF_TC_WITHOUT_HEAD macro to define the test case, and in C++ use 491 ATF_TEST_CASE_WITHOUT_HEAD. 492 493 494Changes in version 0.8 495********************** 496 497Experimental version released on May 7th, 2010. 498 499* Test programs no longer run several test cases in a row. The execution 500 of a test program now requires a test case name, and that single test 501 case is executed. To execute several test cases, use the atf-run utility 502 as usual. 503 504* Test programs no longer fork a subprocess to isolate the execution of 505 test cases. They run the test case code in-process, and a crash of the 506 test case will result in a crash of the test program. This is to ease 507 debugging of faulty test cases. 508 509* Test programs no longer isolate their test cases. This means that they 510 will not create temporary directories nor sanitize the environment any 511 more. Yes: running a test case that depends on system state by hand will 512 most likely yield different results depending on where (machine, 513 directory, user environment, etc.) it is run. Isolation has been moved 514 to atf-run. 515 516* Test programs no longer print a cryptic format (application/X-atf-tcs) 517 on a special file channel. They can now print whatever they want on the 518 screen. Because test programs can now only run one test case every time, 519 providing controlled output is not necessary any more. 520 521* Test programs no longer write their status into a special file 522 descriptor. Instead, they create a file with the results, which is later 523 parsed by atf-run. This changes the semantics of the -r flag. 524 525* atf-run has been adjusted to perform the test case isolation. As a 526 result, there is now a single canonical place that implements the 527 isolation of test caes. In previous releases, the three language 528 bindings (C, C++ and shell) had to be kept in sync with each other (read: 529 not a nice thing to do at all). As a side effect of this change, writing 530 bindings for other languages will be much, much easier from now on. 531 532* atf-run forks test programs on a test case basis, instead of on a test 533 program basis as it did before. This is to provide the test case 534 isolation that was before implemented by the test programs themselves. 535 536* Removed the atf-exec tool. This was used to implement test case 537 isolation in atf-sh, but it is now unnecessary. 538 539* It is now optional to define the descr meta-data property. It has been 540 proven to be mostly useless, because test cases often carry a descriptive 541 name of their own. 542 543 544Changes in version 0.7 545********************** 546 547Experimental version released on December 22nd, 2009. 548 549* Added build-time checks to atf-c and atf-c++. A binding for atf-sh 550 will come later. 551 552* Migrated all build-time checks for header files to proper ATF tests. 553 This demonstrates the use of the new feature described above. 554 555* Added an internal API for child process management. 556 557* Converted all plain-text distribution documents to a Docbook canonical 558 version, and include pre-generated plain text and HTML copies in the 559 distribution file. 560 561* Simplified the contents of the Makefile.am by regenerating it from a 562 canonical Makefile.am.m4 source. As a side-effect, some dependency 563 specifications were fixed. 564 565* Migrated all checks from the check target to installcheck, as these 566 require ATF to be installed. 567 568* Fixed sign comparison mismatches triggered by the now-enabled 569 -Wsign-compare. 570 571* Fixed many memory and object leaks. 572 573 574Changes in version 0.6 575********************** 576 577Experimental version released on January 18th, 2009. 578 579* Make atf-exec be able to kill its child process after a certain period 580 of time; this is controlled through the new -t option. 581 582* Change atf-sh to use atf-exec's -t option to control the test case's 583 timeouts, instead of doing it internally. Same behavior as before, but 584 noticeably faster. 585 586* atf-exec's -g option and atf-killpg are gone due to the previous 587 change. 588 589* Added the atf-check(1) tool, a program that executes a given command 590 and checks its exit code against a known value and allows the management 591 of stdout and stderr in multiple ways. This replaces the previous 592 atf_check function in the atf-sh library and exposes this functionality 593 to both atf-c and atf-c++. 594 595* Added the ATF_REQUIRE family of macros to the C interface. These help 596 in checking for fatal test conditions. The old ATF_CHECK macros now 597 perform non-fatal checks only. I.e. by using ATF_CHECK, the test case 598 can now continue its execution and the failures will not be reported 599 until the end of the whole run. 600 601* Extended the amount of ATF_CHECK_* C macros with new ones to provide 602 more features to the developer. These also have their corresponding 603 counterparts in the ATF_REQUIRE_* family. The new macros (listing the 604 suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG, _STREQ and 605 _STREQ_MSG. 606 607 608Changes in version 0.5 609********************** 610 611Experimental version released on May 1st, 2008. 612 613* Clauses 3 and 4 of the BSD license used by the project were dropped. 614 All the code is now under a 2-clause BSD license compatible with the GNU 615 General Public License (GPL). 616 617* Added a C-only binding so that binary test programs do not need to be 618 tied to C++ at all. This binding is now known as the atf-c library. 619 620* Renamed the C++ binding to atf-c++ for consistency with the new atf-c. 621 622* Renamed the POSIX shell binding to atf-sh for consistency with the new 623 atf-c and atf-c++. 624 625* Added a -w flag to test programs through which it is possible to 626 specify the work directory to be used. This was possible in prior 627 releases by defining the workdir configuration variable (-v workdir=...), 628 but was a conceptually incorrect mechanism. 629 630* Test programs now preserve the execution order of test cases when they 631 are given in the command line. Even those mentioned more than once are 632 executed multiple times to comply with the user's requests. 633 634 635Changes in version 0.4 636********************** 637 638Experimental version released on February 4th, 2008. 639 640* Added two new manual pages, atf-c++-api and atf-sh-api, describing the 641 C++ and POSIX shell interfaces used to write test programs. 642 643* Added a pkg-config file, useful to get the flags to build against the 644 C++ library or to easily detect the presence of ATF. 645 646* Added a way for test cases to require a specific architecture and/or 647 machine type through the new 'require.arch' and 'require.machine' 648 meta-data properties, respectively. 649 650* Added the 'timeout' property to test cases, useful to set an 651 upper-bound limit for the test's run time and thus prevent global test 652 program stalls due to the test case's misbehavior. 653 654* Added the atf-exec(1) internal utility, used to execute a command 655 after changing the process group it belongs to. 656 657* Added the atf-killpg(1) internal utility, used to kill process groups. 658 659* Multiple portability fixes. Of special interest, full support for 660 SunOS (Solaris Express Developer Edition 2007/09) using the Sun Studio 12 661 C++ compiler. 662 663* Fixed a serious bug that prevented atf-run(1) from working at all 664 under Fedora 8 x86_64. Due to the nature of the bug, other platforms 665 were likely affected too. 666 667 668Changes in version 0.3 669********************** 670 671Experimental version released on November 11th, 2007. 672 673* Added XML output support to atf-report. This is accompanied by a DTD 674 for the format's structure and sample XSLT/CSS files to post-process this 675 output and convert it to a plain HTML report. 676 677* Changed atf-run to add system information to the report it generates. 678 This is currently used by atf-report's XML output only, and is later 679 printed in the HTML reports in a nice and useful summary table. The user 680 and system administrator are allowed to tune this feature by means of 681 hooks. 682 683* Removed the test cases' 'isolated' property. This was intended to 684 avoid touching the file system at all when running the related test case, 685 but this has not been true for a long while: some control files are 686 unconditionally required for several purposes, and we cannot easily get 687 rid of them. This way we remove several critical and delicate pieces of 688 code. 689 690* Improved atf-report's CSV output format to include information about 691 test programs too. 692 693* Fixed the tests that used atf-compile to not require this tool as a 694 helper. Avoids systems without build-time utilities to skip many tests 695 that could otherwise be run. (E.g. NetBSD without the comp.tgz set 696 installed.) 697 698* Many general cleanups: Fixed many pieces of code marked as ugly and/or 699 incomplete. 700 701 702Changes in version 0.2 703********************** 704 705Experimental version released on September 20th, 2007. 706 707* Test cases now get a known umask on entry. 708 709* atf-run now detects many unexpected failures caused by test programs and 710 reports them as bogus tests. atf-report is able to handle these new 711 errors and nicely reports them to the user. 712 713* All the data formats read and written by the tools have been 714 documented and cleaned up. These include those grammars that define how 715 the different components communicate with each other as well as the 716 format of files written by the developers and users: the Atffiles and the 717 configuration files. 718 719* Added the atf-version tool, a utility that displays information about 720 the currently installed version of ATF. 721 722* Test cases can now define an optional cleanup routine to undo their 723 actions regardless of their exit status. 724 725* atf-report now summarizes the list of failed (bogus) test programs 726 when using the ticker output format. 727 728* Test programs now capture some termination signals and clean up any 729 temporary files before exiting the program. 730 731* Multiple bug fixes and improvements all around. 732 733 734Changes in version 0.1 735********************** 736 737Experimental version released on August 20th, 2007. 738 739* First public version. This was released coinciding with the end of the 740 Google Summer of Code 2007 program. 741 742 743=========================================================================== 744vim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2 745