Skip to content

Commit 2071874

Browse files
authored
Merge pull request #24 from leanphp/skip-coverage
add --no-coverage to skip code coverage generation
2 parents 122dd46 + 48f6630 commit 2071874

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ documented in this file.
66
The format is based on [Keep a Changelog](http://keepachangelog.com/)
77
and this project adheres to [Semantic Versioning](http://semver.org/).
88

9+
## [4.1.1] - 2018-03-18
10+
11+
- Added `--no-coverage` option which can skip code coverage generation during
12+
PhpSpec test run.
13+
914
## [4.1.0] - 2018-03-17
1015

1116
- `phpunit/php-code-coverage` dependency version requirement has been updated
@@ -75,7 +80,8 @@ as [leanphp/phpspec-code-coverage][0].
7580
- Support configuring a blacklist of files to be excluded from code coverage
7681
reports (`blaclist_files` option).
7782

78-
[4.1.0]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v4.0.0
83+
[4.1.1]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v4.1.1
84+
[4.1.0]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v4.1.0
7985
[4.0.0]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v4.0.0
8086
[3.1.1]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v3.1.1
8187
[3.1.0]: https://github.com/leanphp/phpspec-code-coverage/releases/tag/v3.1.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ extensions:
155155

156156
## Authors
157157

158-
Copyright (c) 2017 ek9 <dev@ek9.co> (https://ek9.co).
158+
Copyright (c) 2017-2018 ek9 <dev@ek9.co> (https://ek9.co).
159159

160160
Copyright (c) 2013-2016 Henrik Bjornskov, for portions of code from
161161
[henrikbjorn/phpspec-code-coverage][1] project.

src/CodeCoverageExtension.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use SebastianBergmann\CodeCoverage\Filter;
99
use SebastianBergmann\CodeCoverage\Report;
1010
use SebastianBergmann\CodeCoverage\Version;
11+
use Symfony\Component\Console\Input\InputOption;
1112

1213
/**
1314
* Injects a Event Subscriber into the EventDispatcher.
@@ -22,6 +23,13 @@ class CodeCoverageExtension implements \PhpSpec\Extension
2223
*/
2324
public function load(ServiceContainer $container, array $params = [])
2425
{
26+
foreach ($container->getByTag('console.commands') as $command) {
27+
if ($command->getName() == 'run') {
28+
$command->addOption('no-coverage', null, InputOption::VALUE_NONE, 'Skip code coverage generation');
29+
}
30+
}
31+
32+
2533
$container->define('code_coverage.filter', function () {
2634
return new Filter();
2735
});
@@ -96,10 +104,19 @@ public function load(ServiceContainer $container, array $params = [])
96104
});
97105

98106
$container->define('event_dispatcher.listeners.code_coverage', function ($container) {
107+
108+
$skipCoverage = false;
109+
$input = $container->get('console.input');
110+
if ($input->getOption('no-coverage')) {
111+
$skipCoverage = true;
112+
}
113+
114+
99115
$listener = new CodeCoverageListener(
100116
$container->get('console.io'),
101117
$container->get('code_coverage'),
102-
$container->get('code_coverage.reports')
118+
$container->get('code_coverage.reports'),
119+
$skipCoverage
103120
);
104121
$listener->setOptions($container->getParam('code_coverage', array()));
105122

src/Listener/CodeCoverageListener.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class CodeCoverageListener implements EventSubscriberInterface
2020
private $options;
2121
private $enabled;
2222

23-
public function __construct(ConsoleIO $io, CodeCoverage $coverage, array $reports)
23+
public function __construct(ConsoleIO $io, CodeCoverage $coverage, array $reports, $skipCoverage = false)
2424
{
2525
$this->io = $io;
2626
$this->coverage = $coverage;
@@ -34,7 +34,7 @@ public function __construct(ConsoleIO $io, CodeCoverage $coverage, array $report
3434
'format' => array('html'),
3535
);
3636

37-
$this->enabled = extension_loaded('xdebug') || (PHP_SAPI === 'phpdbg');
37+
$this->enabled = !$skipCoverage && (extension_loaded('xdebug') || (PHP_SAPI === 'phpdbg'));
3838
}
3939

4040
/**

0 commit comments

Comments
 (0)