ATF-devel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
ANNOUNCE: ATF 0.8 released
Dear users of ATF,
Say hello to the nofork release, ATF 0.8! This new version bundles major
changes to move the test case isolation from the test programs to the
atf-run utility. The benefits: simpler and faster code, easier to debug
tests. The downsides: some backwards-incompatible changes. However, fear
this not: the NetBSD test suite runs unmodified after updating the system
to this new version.
Here comes the list of major changes:
* Test programs no longer run several test cases in a row. The execution
of a test program now requires a test case name, and that single test
case is executed. To execute several test cases, use the atf-run
utility as usual.
* Test programs no longer fork a subprocess to isolate the execution of
test cases. They run the test case code in-process, and a crash of the
test case will result in a crash of the test program. This is to ease
debugging of faulty test cases.
* Test programs no longer isolate their test cases. This means that they
will not create temporary directories nor sanitize the environment any
more. Yes: running a test case that depends on system state by hand
will most likely yield different results depending on where (machine,
directory, user environment, etc.) it is run. Isolation has been moved
to atf-run.
* Test programs no longer print a cryptic format (application/X-atf-tcs)
on a special file channel. They can now print whatever they want on
the screen. Because test programs can now only run one test case every
time, providing controlled output is not necessary any more.
* Test programs no longer write their status into a special file
descriptor. Instead, they create a file with the results, which is
later parsed by atf-run. This changes the semantics of the -r flag.
* atf-run has been adjusted to perform the test case isolation. As a
result, there is now a single canonical place that implements the
isolation of test caes. In previous releases, the three language
bindings (C, C++ and shell) had to be kept in sync with each other
(read: not a nice thing to do at all). As a side effect of this
change, writing bindings for other languages will be much, much easier
from now on.
* atf-run forks test programs on a test case basis, instead of on a test
program basis as it did before. This is to provide the test case
isolation that was before implemented by the test programs themselves.
* Removed the atf-exec tool. This was used to implement test case
isolation in atf-sh, but it is now unnecessary.
* It is now optional to define the descr meta-data property. It has been
proven to be mostly useless, because test cases often carry a
descriptive name of their own.
The SHA1 checksum for atf-0.8.tar.gz is:
a86416081f0381eaab2d7f1c129202f282335afd
As usual, proceed to the downloads page to fetch it:
http://www.NetBSD.org/~jmmv/atf/download.html
Enjoy!
--
Julio Merino
Home |
Main Index |
Thread Index |
Old Index