Codeception: Codecoverage: [PHP Warning] Unexpected character in input: ''

Created on 5 Jun 2014  路  3Comments  路  Source: Codeception/Codeception

Hello,
finally I have codeception working at development machines.

Codeception PHP Testing Framework v1.8.5
Powered by PHPUnit 3.7.37 by Sebastian Bergmann.
PHP 5.5.9-1ubuntu4 (cli) (built: Apr  9 2014 17:08:27) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

I also tried with a machine with PHP 5.4.29 with Xdebug.

I have c3.php installed and it seems to work, but when I try to get coverage information i get spammed with this warning repeated over and over, if I redirect standard output to a file, that file ends with more than 300Mb!

     [exec] PHP Warning:  Unexpected character in input:  '' (ASCII=1) state=0 in /var/jenkins/workspace/project/vendor/phpunit/php-token-stream/PHP/Token/Stream.php on line 195
     [exec] PHP Stack trace:
     [exec] PHP   1. {main}() /var/jenkins/workspace/project/vendor/codeception/codeception/codecept:0
     [exec] PHP   2. Symfony\Component\Console\Application->run() /var/jenkins/workspace/project/vendor/codeception/codeception/codecept:29
     [exec] PHP   3. Symfony\Component\Console\Application->doRun() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:121
     [exec] PHP   4. Symfony\Component\Console\Application->doRunCommand() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:191
     [exec] PHP   5. Symfony\Component\Console\Command\Command->run() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:898
     [exec] PHP   6. Codeception\Command\Run->execute() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:244
     [exec] PHP   7. Codeception\Codecept->printResult() /var/jenkins/workspace/project/vendor/codeception/codeception/src/Codeception/Command/Run.php:104
     [exec] PHP   8. Symfony\Component\EventDispatcher\EventDispatcher->dispatch() /var/jenkins/workspace/project/vendor/codeception/codeception/src/Codeception/Codecept.php:167
     [exec] PHP   9. Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:53
     [exec] PHP  10. call_user_func:{/var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:164}() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:164
     [exec] PHP  11. Codeception\Subscriber\CodeCoverage->printResult() /var/jenkins/workspace/project/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:164
     [exec] PHP  12. Codeception\Subscriber\CodeCoverage->printText() /var/jenkins/workspace/project/vendor/codeception/codeception/src/Codeception/Subscriber/CodeCoverage.php:134
     [exec] PHP  13. PHP_CodeCoverage_Report_Text->process() /var/jenkins/workspace/project/vendor/codeception/codeception/src/Codeception/Subscriber/CodeCoverage.php:145
     [exec] PHP  14. PHP_CodeCoverage->getReport() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Text.php:92
     [exec] PHP  15. PHP_CodeCoverage_Report_Factory->create() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage.php:158
     [exec] PHP  16. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:75
     [exec] PHP  17. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  18. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  19. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  20. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  21. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  22. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  23. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  24. PHP_CodeCoverage_Report_Factory->addItems() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:97
     [exec] PHP  25. PHP_CodeCoverage_Report_Node_Directory->addFile() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php:93
     [exec] PHP  26. PHP_CodeCoverage_Report_Node_File->__construct() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/Directory.php:210
     [exec] PHP  27. PHP_CodeCoverage_Report_Node_File->calculateStatistics() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/File.php:171
     [exec] PHP  28. PHP_Token_Stream->__construct() /var/jenkins/workspace/project/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/File.php:413
     [exec] PHP  29. PHP_Token_Stream->scan() /var/jenkins/workspace/project/vendor/phpunit/php-token-stream/PHP/Token/Stream.php:152
     [exec] PHP  30. token_get_all() /var/jenkins/workspace/project/vendor/phpunit/php-token-stream/PHP/Token/Stream.php:195

Ascii codes changes over and over.

Just after the last warning I also see that error:

     [exec] 
     [exec] 
     [exec]                                                      
     [exec]   FATAL ERROR. TESTS NOT FINISHED.
     [exec]   Allowed memory size of 1073741824 bytes exhausted (tried to allocate 238 bytes) 
     [exec]                                                      
     [exec] 
     [exec] 

I've also noticed that c3tmp/codecoverage.serialized file seems to be a binary file, and has a size of 2.9Mb, it has some 0x00 characters. I can open the file and see what seem to be a badly formatted json file, but I don't know what that file should look like.

Any clue?

Most helpful comment

I think you may add mask like

include:
   web/*.php

All 3 comments

I think I have discovered why this happens:
It is trying to parse images and other non PHP files!

How can I tell codecoverage to ignore .png, .js and .jpg files ?

I think you may add mask like

include:
   web/*.php

Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gimler picture gimler  路  3Comments

DavertMik picture DavertMik  路  4Comments

sebastianneubert picture sebastianneubert  路  3Comments

jterry picture jterry  路  3Comments

nikolaykolev picture nikolaykolev  路  3Comments