Skip to content

Commit

Permalink
Merge pull request #298 from stronk7/deprecate_phpdbg
Browse files Browse the repository at this point in the history
Deprecate the phpdbg option for code coverage
  • Loading branch information
stronk7 authored Apr 7, 2024
2 parents f1624f3 + cdfb095 commit 7808f25
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
6 changes: 6 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
The format of this change log follows the advice given at [Keep a CHANGELOG](http://keepachangelog.com).

## [Unreleased]
### Deprecated
- The use of `phpdbg` to calculate PHPUnit's code-coverage has been deprecated in this `moodle-plugin-ci` release (4.5.0) and will be removed in 5.0.0. This includes both the implicit (default) option when no alternative (`pcov` or `xdebug`) is available and the explicit `--coverage-phpdbg` option.
- ACTION SUGGESTED: In order to avoid deprecation warnings or annotations, proceed to ensure that either `pcov` (Moodle 3.10 and up) or `xdebug` are available and they will be used automatically. Note that any use of `phpdbg` will throw an error in the next major release (5.0.0).

### Fixed
- Solved a problem with the validation of `dataformat` plugin lang strings.

## [4.4.5] - 2024-04-03
### Changed
Expand Down
2 changes: 1 addition & 1 deletion docs/CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -2133,7 +2133,7 @@ Use the xdebug extension to calculate code coverage

#### `--coverage-phpdbg`

Use the phpdbg binary to calculate code coverage
(**DEPRECATED**) Use the phpdbg binary to calculate code coverage

* Accept value: no
* Is value required: no
Expand Down
11 changes: 10 additions & 1 deletion src/Command/PHPUnitCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ protected function configure(): void
->addOption('coverage-clover', null, InputOption::VALUE_NONE, 'Generate code coverage report in Clover XML format')
->addOption('coverage-pcov', null, InputOption::VALUE_NONE, 'Use the pcov extension to calculate code coverage')
->addOption('coverage-xdebug', null, InputOption::VALUE_NONE, 'Use the xdebug extension to calculate code coverage')
->addOption('coverage-phpdbg', null, InputOption::VALUE_NONE, 'Use the phpdbg binary to calculate code coverage')
->addOption('coverage-phpdbg', null, InputOption::VALUE_NONE, '(**DEPRECATED**) Use the phpdbg binary to calculate code coverage')
->addOption('fail-on-incomplete', null, InputOption::VALUE_NONE, 'Treat incomplete tests as failures')
->addOption('fail-on-risky', null, InputOption::VALUE_NONE, 'Treat risky tests as failures')
->addOption('fail-on-skipped', null, InputOption::VALUE_NONE, 'Treat skipped tests as failures')
Expand Down Expand Up @@ -195,6 +195,15 @@ private function resolveBinary(InputInterface $input, OutputInterface $output):
'-dxdebug.mode=coverage',
];
case 'phpdbg':
// @codeCoverageIgnoreStart
if (!defined('PHPUNIT_TEST')) { // Only show deprecation warnings in non-test environments.
if (getenv('GITHUB_ACTIONS')) { // Only show deprecation annotations in GitHub Actions.
echo '::warning title=Deprecated phpdbg option::The use of phpdbg for phpunit code coverage ' .
'is deprecated and will be removed in 5.0.0. Please, switch to pcov or xdebug instead.' . PHP_EOL;
}
}
// @codeCoverageIgnoreEnd

return [
'phpdbg',
'-d',
Expand Down

0 comments on commit 7808f25

Please sign in to comment.