Я пытаюсь запустить сборку на Jenkins под управлением Ubuntu 14.04. Мой PHPUnit сбой с приведенным ниже сообщением об ошибке, но, похоже, этого не происходит. Кажется, что моя xdebug загружается правильно. Я запускаю PHPUnit v4.8.10.
Когда я пытаюсь запустить phpunit
через командную строку напрямую, он просто зависает и не возвращается. Что мне не хватает?
phpunit:
[phpunit] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(//proc/tty/driver): failed to open dir: Permission denied' in /var/lib/jenkins/jobs/Some other job/workspace/vendor/phpunit/php-file-iterator/src/Factory.php:66
[phpunit] Stack trace:
[phpunit] #0 [internal function]: RecursiveDirectoryIterator->__construct('//proc/tty/driv...', 512)
[phpunit] #1 [internal function]: RecursiveDirectoryIterator->getChildren()
[phpunit] #2 [internal function]: FilterIterator->rewind()
[phpunit] #3 /var/lib/jenkins/jobs/Some other job/workspace/vendor/phpunit/php-file-iterator/src/Factory.php(66): AppendIterator->append(Object(File_Iterator))
[phpunit] #4 /var/lib/jenkins/jobs/Some other job/workspace/vendor/phpunit/php-file-iterator/src/Facade.php(38): File_Iterator_Factory->getFileIterator(Array, '.php', '', Array)
[phpunit] #5 /var/lib/jenkins/jobs/Some other job/workspace/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php(112): File_Iterator_Facade->getFilesAsArray('/', '.php', '')
[phpunit] #6 /var/lib/jenkins/jobs/Some other job/workspace/vend in /var/lib/jenkins/jobs/Some other job/workspace/vendor/phpunit/php-file-iterator/src/Factory.php on line 66
BUILD FAILED
/var/lib/jenkins/jobs/Some other job/workspace/build.xml:169: exec returned: 255
Информация о PHP:
PHP 5.5.9-1ubuntu4.13 (cli) (built: Sep 29 2015 15:24:49)
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
Проблема заключалась в том, что мой белый список внутри моего phpunit.xml
. Как вы можете видеть в <directory>
, я рассказывал, как мое покрытие кода начинается с корня сервера! Вот как это закончилось тем, что я просматривал свои сокеты и попадал куда-то, чего не должно было быть.
Чтобы решить эту проблему, измените <directory suffix=".php">/</directory>
ниже на <directory suffix=".php">./</directory>
поэтому покрытие кода просматривает только ваш каталог проекта.
Старый фильтр:
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">/</directory>
<exclude>
<file>bootstrap/autoload.php</file>
</exclude>
</whitelist>
</filter>