ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntMajor changes between releases Automated Testing Framework
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt===========================================================================
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsChanges in version 0.21
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews***********************
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsReleased on October 23rd, 2014.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Restored the atf(7) manual page to serve as a reference to all the other
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews manual pages shipped by ATF.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Added the -s flag to atf-sh to support specifying the shell interpreter
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Removed ATF_WORKDIR. The only remaining consumers have been converted to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews use the standard TMPDIR environment variable. As a benefit, and because
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews Kyua forces the TMPDIR to live within the test case's work directory,
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews any stale files left behind by ATF will be automatically cleaned up.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Documented the environment variables recognized by each component in the
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews relevant manual pages. This information was lost with the atf-config(1)
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Added a new "require.diskspace" metadata property to test cases so that
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews they can specify the minimum amount of disk space required for the test
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Renamed the atf-{c,c++,sh}-api(3) manual pages to atf-{c,c++,sh}(3) for
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews discoverability purposes. Symbolic links are provided for the time
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews being to still make the old names visible.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #5: Recommend the (expected, actual) idiom for calls to the test
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews macros in the manual pages.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #7: Stopped catching unhandled exceptions in atf-c++ tests. This
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews propagates the crash to the caller, which in turn allows it to obtain
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews proper debugging information. In particular, Kyua should now be able to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews extract a stacktrace pinpointing the problem.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #8: Fixed atf-c/macros_test:use test failures spotted by the clang
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews that ships with FreeBSD 11.0-CURRENT.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #12: Improved documentation of atf-sh(3) and atf-check(1) by better
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews explaining how they relate to each other.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #14: Stopped setting 'set -e' in atf-sh. This setting was
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews initially added as a way to enable a "strict" mode in the library and to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews make test cases fail fast when they run unprotected commands. However,
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews doing so in the library is surprising as the responsibility of enabling
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews 'set -e' should be on the user's code. Also, 'set -e' introduces
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews inconsistent behavior on subshells and users do not expect that.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #15: Fixed atf_utils_{fork,wait} to support nested calls.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #16: Fixed test failures (by removing a long-standing hack) on
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews systems that lack \e support in printf(1).
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue #19: Removed stale references to atf-config and atf-run.
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsChanges in version 0.19
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews***********************
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsExperimental version released on February 7th, 2014.
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsThis is the last release to bundle the code for the deprecated tools.
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsThe next release will drop their code and will stop worrying about
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsbackwards compatibility between the ATF libraries and what the old tools
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsmay or may not support.
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsIf you still require the old tools for some reason, grab a copy of the
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews'tools' directory now. The code in this directory is standalone and
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsdoes not depend on any internal details of atf-c++ any longer.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Various fixes and improvements to support running as part of the FreeBSD
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Project hosting moved from Google Code (as a subproject of Kyua) to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews GitHub (as a first-class project). The main reason for the change is
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews the suppression of binary downloads in Google Code on Jan 15th, 2014.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Removed builtin help from atf-sh(1) and atf-check(1) for simplicity
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews reasons. In other words, their -h option is gone.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Moved the code of the deprecated tools into a 'tools' directory and
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews completely decoupled their code from the internals of atf-c++. The
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews reason for this is to painlessly allow a third-party to maintain a
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews copy of these tools after we delete them because upcoming changes to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews atf-c++ would break the stale tools.
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsChanges in version 0.18
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews***********************
4a53e3c2b83c476a93148eaee0272649beb221caMark AndrewsExperimental version released on November 16th, 2013.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue 45: Added require.memory support in atf-run for FreeBSD.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Fixed an issue with the handling of cin with libc++.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* Issue 64: Fixed various mandoc formatting warnings.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* NetBSD PR bin/48284: Made atf-check flush its progress message to
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews stdout so that an interrupted test case always shows the last message
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews being executed.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews* NetBSD PR bin/48285: Fixed atf_check examples in atf-sh-api(3).
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntChanges in version 0.17
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt***********************
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntExperimental version released on February 14th, 2013.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added the atf_utils_cat_file, atf_utils_compare_file,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf_utils_copy_file, atf_utils_create_file, atf_utils_file_exists,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf_utils_fork, atf_utils_grep_file, atf_utils_grep_string,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf_utils_readline, atf_utils_redirect and atf_utils_wait utility
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt functions to atf-c-api. Documented the already-public
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf_utils_free_charpp function.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added the cat_file, compare_file, copy_file, create_file, file_exists,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt fork, grep_collection, grep_file, grep_string, redirect and wait
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt functions to the atf::utils namespace of atf-c++-api. These are
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt wrappers around the same functions added to the atf-c-api library.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added the ATF_CHECK_MATCH, ATF_CHECK_MATCH_MSG, ATF_REQUIRE_MATCH and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt ATF_REQUIRE_MATCH_MSG macros to atf-c to simplify the validation of a
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt string against a regular expression.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Miscellaneous fixes for manpage typos and compilation problems with
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added caching of the results of those configure tests that rely on
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt executing a test program. This should help crossbuild systems by
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt providing a mechanism to pre-specify what the results should be.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/45690: Make atf-report convert any non-printable characters to
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt a plain-text representation (matching their corresponding hexadecimal
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt entities) in XML output files. This is to prevent the output of test
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt cases from breaking xsltproc later.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntChanges in version 0.16
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt***********************
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntExperimental version released on July 10th, 2012.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added a --enable-tools flag to configure to request the build of the
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt deprecated ATF tools, whose build is now disabled by default. In order
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt to continue running tests, you should migrate to Kyua instead of enabling
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt the build of the deprecated tools. The kyua-atf-compat package provides
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt transitional compatibility versions of atf-run and atf-report built on
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt top of Kyua.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Tweaked the ATF_TEST_CASE macro of atf-c++ so that the compiler can
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt detect defined but unused test cases.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/45859: Fixed some XSLT bugs that resulted in the tc-time and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt tp-time XML tags leaking into the generated HTML file. Also improved
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt the CSS file slightly to correct alignment and color issues with the
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt timestamps column.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Optimized atf-c++/macros.hpp so that GNU G++ consumes less memory during
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt compilation with GNU G++.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Flipped the default to building shared libraries for atf-c and atf-c++,
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt and started versioning them. As a side-effect, this removes the
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt --enable-unstable-shared flag from configure that appears to not work any
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt more (under NetBSD). Additionally, some distributions require the use of
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt shared libraries for proper dependency tracking (e.g. Fedora), so it is
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt better if we do the right versioning upstream.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Project hosting moved from an adhoc solution (custom web site and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt Monotone repository) to Google Code (standard wiki and Git). ATF now
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt lives in a subcomponent of the Kyua project.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntChanges in version 0.15
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt***********************
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntExperimental version released on January 16th, 2012.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Respect stdin in atf-check. The previous release silenced stdin for any
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt processes spawned by atf, not only test programs, which caused breakage
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt in tests that pipe data through atf-check.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Performance improvements to atf-sh.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Enabled detection of unused parameters and variables in the code and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt fixed all warnings.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Changed the behavior of "developer mode". Compiler warnings are now
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt enabled unconditionally regardless of whether we are in developer mode or
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt not; developer mode is now only used to perform strict warning checks and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt to enable assertions. Additionally, developer mode is now only
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt automatically enabled when building from the repository, not for formal
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added new Autoconf M4 macros (ATF_ARG_WITH, ATF_CHECK_C and
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt ATF_CHECK_CXX) to provide a consistent way of defining a --with-arg flag
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt in configure scripts and detecting the presence of any of the ATF
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt bindings. Note that ATF_CHECK_SH was already introduced in 0.14, but it
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt has now been modified to also honor --with-atf if instantiated.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added timing support to atf-run / atf-report.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added support for a 'require.memory' property, to specify the minimum
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt amount of physical memory needed by the test case to yield valid results.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/45690: Force an ISO-8859-1 encoding in the XML files generated by
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf-report so that invalid data in the output of test cases does not
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt mangle our report.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntChanges in version 0.14
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt***********************
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntExperimental version released on June 14th, 2011.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added a pkg-config file for atf-sh and an aclocal file to ease the
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt detection of atf-sh from autoconf scripts.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Made the default test case body defined by atf_sh fail. This is to
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt ensure that test cases are properly defined in test programs and helps
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt in catching typos in the names of the body functions.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/44882: Made atf-run connect the stdin of test cases to /dev/zero.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt This provides more consistent results with "normal" execution (in
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt particular, when tests are executed detached from a terminal).
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Made atf-run hardcode TZ=UTC for test cases. It used to undefine TZ, but
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt that does not take into account that libc determines the current timezone
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt from a configuration file.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* All test programs will now print a warning when they are not run through
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt atf-run(1) stating that this is unsupported and may deliver incorrect
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added support for the 'require.files' test-case property. This allows
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt test cases to specify installed files that must be present for the test
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt case to run.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntChanges in version 0.13
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt***********************
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntExperimental version released on March 31st, 2011.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntThis is the first release after the creation of the Kyua project, a more
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntmodular and reliable replacement for ATF. From now on, ATF will change to
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntaccomodate the transition to this new codebase, but ATF will still continue
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntto see development in the short/medium term. Check out the project page at
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan HuntThe changes in this release are:
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added support to run the tests with the Kyua runtime engine (kyua-cli), a
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt new package that aims to replace atf-run and atf-report. The ATF tests
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt can be run with the new system by issuing a 'make installcheck-kyua' from
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt the top-level directory of the project (assuming the 'kyua' binary is
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt available during the configuration stage of ATF).
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* atf-run and atf-report are now in maintenance mode (but *not* deprecated
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt yet!). Kyua already implements a new, much more reliable runtime engine
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt that provides similar features to these tools. That said, it is not
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt complete yet so all development efforts should go towards it.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* If GDB is installed, atf-run dumps the stack trace of crashing test
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt programs in an attempt to aid debugging. Contributed by Antti Kantee.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Reverted default timeout change in previous release and reset its value
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt to 5 minutes. This was causing several issues, specially when running
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt the existing NetBSD test suite in qemu.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Fixed the 'match' output checker in atf-check to properly validate the
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt last line of a file even if it does not have a newline.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* Added the ATF_REQUIRE_IN and ATF_REQUIRE_NOT_IN macros to atf-c++ to
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt check for the presence (or lack thereof) of an element in a collection.
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/44176: Fixed a race condition in atf-run that would crash atf-run
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt when the cleanup of a test case triggered asynchronous modifications to
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt its work directory (e.g. killing a daemon process that cleans up a pid
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt file in the work directory).
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt* PR bin/44301: Fixed the sample XSLT file to report bogus test programs
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt instead of just listing them as having 0 test cases.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.12
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt***********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on November 7th, 2010.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the ATF_REQUIRE_THROW_RE to atf-c++, which is the same as
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt ATF_REQUIRE_THROW but allows checking for the validity of the exception's
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt error message by means of a regular expression.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the ATF_REQUIRE_MATCH to atf-c++, which allows checking for a
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt regular expression match in a string.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Changed the default timeout for test cases from 5 minutes to 30 seconds.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt 30 seconds is long enough for virtually all tests to complete, and 5
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt minutes is a way too long pause in a test suite where a single test case
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Deprecated the use.fs property. While this seemed like a good idea in
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the first place to impose more control on what test cases can do, it
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt turns out to be bad. First, use.fs=false prevents bogus test cases
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt from dumping core so after-the-fact debugging is harder. Second,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt supporting use.fs adds a lot of unnecessary complexity. atf-run will
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt now ignore any value provided to use.fs and will allow test cases to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt freely access the file system if they wish to.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the atf_tc_get_config_var_as_{bool,long}{,_wd} functions to the atf-c
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt library. The 'text' module became private in 0.11 but was being used
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt externally to simplify the parsing of configuration variables.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Made atf-run recognize the 'unprivileged-user' configuration variable
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt and automatically drop root privileges when a test case sets
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt require.user=unprivileged. Note that this is, by no means, done for
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt security purposes; this is just for user convenience; tests should, in
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt general, not be blindly run as root in the first place.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.11
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt***********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on October 20th, 2010.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* The ATF_CHECK* macros in atf-c++ were renamed to ATF_REQUIRE* to match
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt their counterparts in atf-c.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Clearly separated the modules in atf-c that are supposed to be public
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt from those that are implementation details. The header files for the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt internal modules are not installed any more.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Made the atf-check tool private. It is only required by atf-sh and being
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt public has the danger of causing confusion. Also, making it private
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt simplifies the public API of atf.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Changed atf-sh to enable per-command error checking (set -e) by default.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt This catches many cases in which a test case is broken but it is not
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt reported as such because execution continues.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed the XSTL and CSS stylesheets to support expected failures.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.10
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt***********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on July 2nd, 2010.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntMiscellaneous features
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added expected failures support to test cases and atf-run. These
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt include, for example, expected clean exits, expected reception of fatal
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt signals, expected timeouts and expected errors in condition checks.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt These statuses can be used to denote test cases that are known to fail
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt due to a bug in the code they are testing. atf-report reports these
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt tests separately but they do not count towards the failed test cases
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the ATF_CHECK_ERRNO and ATF_REQUIRE_ERRNO to the C library to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt allow easy checking of call failures that update errno.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the has.cleanup meta-data property to test caes that specifies
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt whether the test case has a cleanup routine or not; its value is
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt automatically set. This property is read by atf-run to know if it has to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt run the cleanup routine; skipping this run for every test case
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt significantly speeds up the run time of test suites.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Reversed the order of the ATF_CHECK_THROW macro in the C++ binding to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt take the expected exception as the first argument and the statement to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt execute as the second argument.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in atf-check
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Changed atf-check to support negating the status and output checks by
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt prefixing them with not- and added support to specify multiple checkers
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt for stdout and stderr, not only one.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the match output checker to atf-check to look for regular
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt expressions in the stdout and stderr of commands.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Modified the exit checks in atf-check to support checking for the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt reception of signals.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCode simplifications and cleanups
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed usage messages from test programs to simplify the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt implementation of every binding by a significant amount. They just now
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt refer the user to the appropriate manual page and do not attempt to wrap
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt lines on terminal boundaries. Test programs are not supposed to be run
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt by users directly so this minor interface regression is not important.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed the atf-format internal utility, which is unused after the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt change documented above.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed the atf-cleanup internal utility. It has been unused since the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt test case isolation was moved to atf-run in 0.8
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Splitted the Makefile.am into smaller files for easier maintenance and
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt dropped the use of M4. Only affects users building from the repository
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Intermixed tests with the source files in the source tree to provide
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt them more visibility and easier access. The tests directory is gone from
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the source tree and tests are now suffixed by _test, not prefixed by t_.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Simplifications to the atf-c library: removed the io, tcr and ui
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt modules as they had become unnecessary after all simplifications
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt introduced since the 0.8 release.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed the application/X-atf-tcr format introduced in 0.8 release.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt Tests now print a much simplified format that is easy to parse and nicer
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt to read by end users. As a side effect, the default for test cases is
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt now to print their results to stdout unless otherwise stated by providing
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the -r flag.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed XML distribution documents and replaced them with plain-text
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt documents. They provided little value and introduced a lot of complexity
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt to the build system.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Simplified the output of atf-version by not attempting to print a
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt revision number when building form a distfile. Makes the build system
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt easier to maintain.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.9
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on June 3rd, 2010.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added atf-sh, an interpreter to process test programs written using
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the shell API. This is not really a shell interpreter by itself though:
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt it is just a wrapper around the system shell that eases the loading of
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the necessary ATF libraries.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed atf-compile in favour of atf-sh.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the use.fs metadata property to test case, which is used to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt specify which test cases require file system access. This is to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt highlight dependencies on external resources more clearly and to speed up
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the execution of test suites by skipping the creation of many unnecessary
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt work directories.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed test programs to get a sane default value for their source
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt directory. This means that it should not be necessary any more to pass
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt -s when running test programs that do not live in the current directory.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Defining test case headers became optional. This is trivial to achieve
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt in shell-based tests but a bit ugly in C and C++. In C, use the new
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt ATF_TC_WITHOUT_HEAD macro to define the test case, and in C++ use
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt ATF_TEST_CASE_WITHOUT_HEAD.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.8
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on May 7th, 2010.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs no longer run several test cases in a row. The execution
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt of a test program now requires a test case name, and that single test
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt case is executed. To execute several test cases, use the atf-run utility
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs no longer fork a subprocess to isolate the execution of
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt test cases. They run the test case code in-process, and a crash of the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt test case will result in a crash of the test program. This is to ease
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt debugging of faulty test cases.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs no longer isolate their test cases. This means that they
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt will not create temporary directories nor sanitize the environment any
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt more. Yes: running a test case that depends on system state by hand will
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt most likely yield different results depending on where (machine,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt directory, user environment, etc.) it is run. Isolation has been moved
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs no longer print a cryptic format (application/X-atf-tcs)
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt on a special file channel. They can now print whatever they want on the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt screen. Because test programs can now only run one test case every time,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt providing controlled output is not necessary any more.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs no longer write their status into a special file
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt descriptor. Instead, they create a file with the results, which is later
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt parsed by atf-run. This changes the semantics of the -r flag.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* atf-run has been adjusted to perform the test case isolation. As a
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt result, there is now a single canonical place that implements the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt isolation of test caes. In previous releases, the three language
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt bindings (C, C++ and shell) had to be kept in sync with each other (read:
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt not a nice thing to do at all). As a side effect of this change, writing
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt bindings for other languages will be much, much easier from now on.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* atf-run forks test programs on a test case basis, instead of on a test
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt program basis as it did before. This is to provide the test case
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt isolation that was before implemented by the test programs themselves.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed the atf-exec tool. This was used to implement test case
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt isolation in atf-sh, but it is now unnecessary.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* It is now optional to define the descr meta-data property. It has been
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt proven to be mostly useless, because test cases often carry a descriptive
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt name of their own.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.7
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on December 22nd, 2009.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added build-time checks to atf-c and atf-c++. A binding for atf-sh
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt will come later.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Migrated all build-time checks for header files to proper ATF tests.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt This demonstrates the use of the new feature described above.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added an internal API for child process management.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Converted all plain-text distribution documents to a Docbook canonical
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt version, and include pre-generated plain text and HTML copies in the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt distribution file.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Simplified the contents of the Makefile.am by regenerating it from a
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt canonical Makefile.am.m4 source. As a side-effect, some dependency
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt specifications were fixed.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Migrated all checks from the check target to installcheck, as these
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt require ATF to be installed.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed sign comparison mismatches triggered by the now-enabled
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt -Wsign-compare.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed many memory and object leaks.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.6
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on January 18th, 2009.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Make atf-exec be able to kill its child process after a certain period
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt of time; this is controlled through the new -t option.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Change atf-sh to use atf-exec's -t option to control the test case's
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt timeouts, instead of doing it internally. Same behavior as before, but
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt noticeably faster.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* atf-exec's -g option and atf-killpg are gone due to the previous
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the atf-check(1) tool, a program that executes a given command
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt and checks its exit code against a known value and allows the management
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt of stdout and stderr in multiple ways. This replaces the previous
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt atf_check function in the atf-sh library and exposes this functionality
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt to both atf-c and atf-c++.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the ATF_REQUIRE family of macros to the C interface. These help
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt in checking for fatal test conditions. The old ATF_CHECK macros now
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt perform non-fatal checks only. I.e. by using ATF_CHECK, the test case
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt can now continue its execution and the failures will not be reported
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt until the end of the whole run.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Extended the amount of ATF_CHECK_* C macros with new ones to provide
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt more features to the developer. These also have their corresponding
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt counterparts in the ATF_REQUIRE_* family. The new macros (listing the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG, _STREQ and
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.5
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on May 1st, 2008.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Clauses 3 and 4 of the BSD license used by the project were dropped.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt All the code is now under a 2-clause BSD license compatible with the GNU
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt General Public License (GPL).
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added a C-only binding so that binary test programs do not need to be
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt tied to C++ at all. This binding is now known as the atf-c library.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Renamed the C++ binding to atf-c++ for consistency with the new atf-c.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Renamed the POSIX shell binding to atf-sh for consistency with the new
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt atf-c and atf-c++.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added a -w flag to test programs through which it is possible to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt specify the work directory to be used. This was possible in prior
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt releases by defining the workdir configuration variable (-v workdir=...),
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt but was a conceptually incorrect mechanism.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs now preserve the execution order of test cases when they
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt are given in the command line. Even those mentioned more than once are
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt executed multiple times to comply with the user's requests.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.4
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on February 4th, 2008.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added two new manual pages, atf-c++-api and atf-sh-api, describing the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt C++ and POSIX shell interfaces used to write test programs.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added a pkg-config file, useful to get the flags to build against the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt C++ library or to easily detect the presence of ATF.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added a way for test cases to require a specific architecture and/or
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt machine type through the new 'require.arch' and 'require.machine'
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt meta-data properties, respectively.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the 'timeout' property to test cases, useful to set an
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt upper-bound limit for the test's run time and thus prevent global test
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt program stalls due to the test case's misbehavior.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the atf-exec(1) internal utility, used to execute a command
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt after changing the process group it belongs to.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the atf-killpg(1) internal utility, used to kill process groups.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Multiple portability fixes. Of special interest, full support for
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt SunOS (Solaris Express Developer Edition 2007/09) using the Sun Studio 12
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt C++ compiler.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed a serious bug that prevented atf-run(1) from working at all
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt under Fedora 8 x86_64. Due to the nature of the bug, other platforms
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt were likely affected too.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.3
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on November 11th, 2007.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added XML output support to atf-report. This is accompanied by a DTD
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt for the format's structure and sample XSLT/CSS files to post-process this
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt output and convert it to a plain HTML report.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Changed atf-run to add system information to the report it generates.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt This is currently used by atf-report's XML output only, and is later
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt printed in the HTML reports in a nice and useful summary table. The user
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt and system administrator are allowed to tune this feature by means of
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Removed the test cases' 'isolated' property. This was intended to
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt avoid touching the file system at all when running the related test case,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt but this has not been true for a long while: some control files are
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt unconditionally required for several purposes, and we cannot easily get
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt rid of them. This way we remove several critical and delicate pieces of
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Improved atf-report's CSV output format to include information about
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt test programs too.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Fixed the tests that used atf-compile to not require this tool as a
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt helper. Avoids systems without build-time utilities to skip many tests
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt that could otherwise be run. (E.g. NetBSD without the comp.tgz set
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Many general cleanups: Fixed many pieces of code marked as ugly and/or
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.2
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on September 20th, 2007.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test cases now get a known umask on entry.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* atf-run now detects many unexpected failures caused by test programs and
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt reports them as bogus tests. atf-report is able to handle these new
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt errors and nicely reports them to the user.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* All the data formats read and written by the tools have been
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt documented and cleaned up. These include those grammars that define how
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the different components communicate with each other as well as the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt format of files written by the developers and users: the Atffiles and the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt configuration files.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Added the atf-version tool, a utility that displays information about
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt the currently installed version of ATF.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test cases can now define an optional cleanup routine to undo their
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt actions regardless of their exit status.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* atf-report now summarizes the list of failed (bogus) test programs
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt when using the ticker output format.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Test programs now capture some termination signals and clean up any
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt temporary files before exiting the program.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* Multiple bug fixes and improvements all around.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntChanges in version 0.1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt**********************
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntExperimental version released on August 20th, 2007.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt* First public version. This was released coinciding with the end of the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt Google Summer of Code 2007 program.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt===========================================================================
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntvim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2