The __destruct() method of the PHPUnit_Extensions_Logger_XML class (part of PHPUnit) is not beeing called.
To reproduce: 1.) cd pear/PHPUnit 2.) Create FooTest.php with the following code <?php require_once 'PHPUnit/Framework/TestCase.php'; class FooTest extends PHPUnit_Framework_TestCase { function testFoo() { $this->assertEquals( 'abcdefghijklmnopqrstuvwxyz', 'abcdefghilkjmnopqrstuvwxyz' ); } } ?> 3.) Execute php -d include_path=..;.;/usr/local/lib/php \ TextUI\TestRunner.php --xml test.xml FooTest The result should look like this PHPUnit @version@ by Sebastian Bergmann. .F Time: 0.003502 There was 1 failure: 1) testfoo expected: <...jkl...> but was: <...lkj...> E:\home\php\pear\PHPUnit\FooTest.php:9 FAILURES!!! Tests run: 1, Failures: 1, Errors: 0. ("testfoo" should be "TestFoo", but it seems that there is still at least one place in the Zend Engine 2 where classnames are lower-cased) The test.xml file is created (because of the fopen() call in the __construct() method of PHPUnit_Extensions_Logger_XML), but is empty because __destruct() is not called. Does anyone have an idea why a __destruct() method would not be called? Could this have something to do with exceptions? PHPUnit throws a lot of those around ... Thanks in advance, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ http://phpOpenTracker.de/ Das Buch zu PHP 5: http://professionelle-softwareentwicklung-mit-php5.de/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php