Open iti-ohuchi opened 7 years ago
any news on this?
Downgrade phpunit on your project composer.json to v5.7
It says in the wiki that if you have phpunit in your projects composer.json it will conflict. It just picks up the projects version instead of the one used by phpci.
So until this is updated you can downgrade phpunit.
Hello,
Can some test if this pull request works with phpunit 6.0? https://github.com/Block8/PHPCI/pull/1275
It replaces the TAP parser.
I have tried the #1275 and it returns the following result.
RUNNING PLUGIN: php_unit PHPUnit 6.2.3 by Sebastian Bergmann and contributors. unrecognized option --log-json Exception: No test executed. PLUGIN: FAILED
Above is 6.2.3 execution log but even on 6.0, it returns the same result.
For reference I have attached the usable option on phpunit 6.2.3.
$ phpunit --help PHPUnit 6.2.3 by Sebastian Bergmann and contributors. Usage: phpunit [options] UnitTest [UnitTest.php] phpunit [options]Code Coverage Options: --coverage-clover Generate code coverage report in Clover XML format. --coverage-crap4j Generate code coverage report in Crap4J XML format. --coverage-html Generate code coverage report in HTML format. --coverage-php Export PHP_CodeCoverage object to file. --coverage-text= Generate code coverage report in text format. Default: Standard output. --coverage-xml Generate code coverage report in PHPUnit XML format. --whitelist Whitelist for code coverage analysis. --disable-coverage-ignore Disable annotations for ignoring code coverage. Logging Options: --log-junit Log test execution in JUnit XML format to file. --log-teamcity Log test execution in TeamCity format to file. --testdox-html Write agile documentation in HTML format to file. --testdox-text Write agile documentation in Text format to file. --testdox-xml Write agile documentation in XML format to file. --reverse-list Print defects in reverse order Test Selection Options: --filter Filter which tests to run. --testsuite Filter which testsuite to run. --group ... Only runs tests from the specified group(s). --exclude-group ... Exclude tests from the specified group(s). --list-groups List available test groups. --list-suites List available test suites. --test-suffix ... Only search for test in files with specified suffix(es). Default: Test.php,.phpt Test Execution Options: --dont-report-useless-tests Do not report tests that do not test anything. --strict-coverage Be strict about @covers annotation usage. --strict-global-state Be strict about changes to global state --disallow-test-output Be strict about output during tests. --disallow-resource-usage Be strict about resource usage during small tests. --enforce-time-limit Enforce time limit based on test size. --disallow-todo-tests Disallow @todo-annotated tests. --process-isolation Run each test in a separate PHP process. --globals-backup Backup and restore $GLOBALS for each test. --static-backup Backup and restore static attributes for each test. --colors= Use colors in output ("never", "auto" or "always"). --columns Number of columns to use for progress output. --columns max Use maximum number of columns for progress output. --stderr Write to STDERR instead of STDOUT. --stop-on-error Stop execution upon first error. --stop-on-failure Stop execution upon first error or failure. --stop-on-warning Stop execution upon first warning. --stop-on-risky Stop execution upon first risky test. --stop-on-skipped Stop execution upon first skipped test. --stop-on-incomplete Stop execution upon first incomplete test. --fail-on-warning Treat tests with warnings as failures. --fail-on-risky Treat risky tests as failures. -v|--verbose Output more verbose information. --debug Display debugging information. --loader TestSuiteLoader implementation to use. --repeat Runs the test(s) repeatedly. --teamcity Report test execution progress in TeamCity format. --testdox Report test execution progress in TestDox format. --testdox-group Only include tests from the specified group(s). --testdox-exclude-group Exclude tests from the specified group(s). --printer TestListener implementation to use. Configuration Options: --bootstrap A "bootstrap" PHP file that is run before the tests. -c|--configuration Read configuration from XML file. --no-configuration Ignore default configuration file (phpunit.xml). --no-coverage Ignore code coverage configuration. --no-logging Ignore logging configuration. --no-extensions Do not load PHPUnit extensions. --include-path Prepend PHP's include_path with given path(s). -d key[=value] Sets a php.ini value. --generate-configuration Generate configuration file with suggested settings. Miscellaneous Options: -h|--help Prints this usage information. --version Prints the version and exits. --atleast-version Checks that version is greater than min and exits. --check-version Check whether PHPUnit is the latest version.
Any news on this?
I am going to bump this as well.
OK so I tried to find a solution and stuck at some point, here's the details if anyone is interested.
I've ported the tap printer to phpunit v6: ozanhazer/taplistener
We have two problems there:
--tap
argument hard coded inside the PHPCI's Phpunit plugin which needs to be changed.Actually these problems are not that big but that the real problem is phpci looks like an abandoned project to me. The build is failing most importantly so even if it's fixed we won't be able to know if we broke anything else.
I'll give up here but here are the details for those who want to fix it:
--tap
argument:Add ozanhazer/taplistener to composer requirements.
Inside \PHPCI\Plugin\PhpUnit::runDir
and \PHPCI\Plugin\PhpUnit::runConfigFile
methods:
if phpunit version >= 6 use --printer Erelyr\\\\TapListener
instead of --tap
I think the best approach would be solving this inside PHPCI, displaying a warning about the undefined lines instead of failing.
See \PHPCI\Plugin\Util\TapParser::parseLine
method.
Removing the version information within the tap listener is not possible, will need kinda hacking which would be fragile. Before phpunit 6 it was hardcoded inside PHPUnit\TextUI\TestRunner
, like "don't print version information if printer is TapListener".
Any news on this? is 2018 now
Welcome to 2019, any news ?
Since phpunit 6.0 was released and stabilized, we upgraded from 5.7.Now we are receiving following logs being outputted from phpci.
As a result of an examination, it seems that the --tap option is no longer available in phpunit 6.0.
Are there any ways to make it work like before without using the --tap option? Also please tell me if there is any schedule where you guys can respond to this issue to phpunit 6.0