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

Reply via email to