phpunit: Code coverage problem: Fatal error: Class 'PHP_Token_Stream' not found

I am running PHPUnit 3.5.15 on a freshly installed Ubuntu 11.04 64bit. Tests are running fine, however, when trying to run code coverage as well, an error is thrown:

$ phpunit --coverage-html build/coverage/ Tests/SomeTest.php 
PHPUnit 3.5.15 by Sebastian Bergmann.

...

Time: 1 second, Memory: 6.00Mb

OK (3 tests, 30 assertions)

Generating code coverage report, this may take a moment.
Fatal error: Class 'PHP_Token_Stream' not found in /usr/share/php/PHP/Token/Stream/CachingFactory.php on line 68

Call Stack:
    0.0002     639560   1. {main}() /usr/bin/phpunit:0
    0.0132    1151288   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:49
    0.0132    1152160   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
    0.0300    4052112   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:188
    1.5055    5682376   5. PHP_CodeCoverage_Report_HTML->process() /usr/share/php/PHPUnit/TextUI/TestRunner.php:363
    1.5059    5733328   6. PHP_CodeCoverage_Report_HTML->addItems() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:135
    1.5059    5734064   7. PHP_CodeCoverage_Report_HTML_Node_Directory->addFile() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:213
    1.5059    5737416   8. PHP_CodeCoverage_Report_HTML_Node_File->__construct() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/Directory.php:156
    1.5062    5801152   9. PHP_CodeCoverage_Util::getLinesToBeIgnored() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/File.php:169
    1.5063    5801792  10. PHP_Token_Stream_CachingFactory::get() /usr/share/php/PHP/CodeCoverage/Util.php:271

I have manually included missing file in /usr/share/php/PHP/Token/Stream/CachingFactory.php for debugging purposes, the diff is

68d67
<             include_once '/usr/share/php/PHP/Token/Stream.php';

Running the same test again results in following error:

Generating code coverage report, this may take a moment.
Fatal error: Class 'PHP_Token_OPEN_TAG' not found in /usr/share/php/PHP/Token/Stream.php on line 205

Call Stack:
    0.0002     639560   1. {main}() /usr/bin/phpunit:0
    0.0132    1151288   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:49
    0.0132    1152160   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
    0.0302    4052608   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:188
    1.5091    5682912   5. PHP_CodeCoverage_Report_HTML->process() /usr/share/php/PHPUnit/TextUI/TestRunner.php:363
    1.5095    5733840   6. PHP_CodeCoverage_Report_HTML->addItems() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:135
    1.5095    5734576   7. PHP_CodeCoverage_Report_HTML_Node_Directory->addFile() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:213
    1.5095    5737928   8. PHP_CodeCoverage_Report_HTML_Node_File->__construct() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/Directory.php:156
    1.5099    5801688   9. PHP_CodeCoverage_Util::getLinesToBeIgnored() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/File.php:169
    1.5099    5802328  10. PHP_Token_Stream_CachingFactory::get() /usr/share/php/PHP/CodeCoverage/Util.php:271
    1.5106    5953392  11. PHP_Token_Stream->__construct() /usr/share/php/PHP/Token/Stream/CachingFactory.php:69
    1.5106    5957656  12. PHP_Token_Stream->scan() /usr/share/php/PHP/Token/Stream.php:147

Has anyone experienced this behaviour? I’ll try looking into it more closely in the upcoming days.

About this issue

  • Original URL
  • State: closed
  • Created 13 years ago
  • Comments: 22 (2 by maintainers)

Most upvoted comments

I cannot reproduce this.

Found the solution. Adding the composer autoload.php to PHPUnit xml config file, as is:

<phpunit colors="true" bootstrap="vendor/autoload.php">