File tree Expand file tree Collapse file tree 3 files changed +66
-0
lines changed Expand file tree Collapse file tree 3 files changed +66
-0
lines changed Original file line number Diff line number Diff line change 1414use PHPUnit \Util \Test ;
1515use SebastianBergmann \CodeCoverage \Driver \Driver ;
1616use SebastianBergmann \CodeCoverage \Driver \PHPDBG ;
17+ use SebastianBergmann \CodeCoverage \Driver \PCOV ;
1718use SebastianBergmann \CodeCoverage \Driver \Xdebug ;
1819use SebastianBergmann \CodeCoverage \Node \Builder ;
1920use SebastianBergmann \CodeCoverage \Node \Directory ;
@@ -905,6 +906,10 @@ private function selectDriver(Filter $filter): Driver
905906 return new Xdebug ($ filter );
906907 }
907908
909+ if ($ runtime ->hasPCOV ()) {
910+ return new PCOV ($ filter );
911+ }
912+
908913 throw new RuntimeException ('No code coverage driver available ' );
909914 }
910915
Original file line number Diff line number Diff line change 1+ <?php
2+ /*
3+ * This file is part of the php-code-coverage package.
4+ *
5+ * (c) Sebastian Bergmann <[email protected] > 6+ *
7+ * For the full copyright and license information, please view the LICENSE
8+ * file that was distributed with this source code.
9+ */
10+ namespace SebastianBergmann \CodeCoverage \Driver ;
11+
12+ use SebastianBergmann \CodeCoverage \RuntimeException ;
13+ use SebastianBergmann \CodeCoverage \Filter ;
14+
15+ /**
16+ * Driver for PCOV code coverage functionality.
17+ *
18+ * @codeCoverageIgnore
19+ */
20+ final class PCOV implements Driver
21+ {
22+ /**
23+ * @throws RuntimeException
24+ */
25+ public function __construct (Filter $ filter = null )
26+ {
27+
28+ }
29+
30+ /**
31+ * Start collection of code coverage information.
32+ */
33+ public function start (bool $ determineUnusedAndDead = true ): void
34+ {
35+ \pcov \start ();
36+ }
37+
38+ /**
39+ * Stop collection of code coverage information.
40+ */
41+ public function stop (): array
42+ {
43+ \pcov \stop ();
44+
45+ $ waiting = \pcov \waiting ();
46+ $ collect = [];
47+
48+ if ($ waiting ) {
49+ $ collect = \pcov \collect (\pcov \inclusive, $ waiting );
50+
51+ if ($ collect ) {
52+ \pcov \clear ();
53+ }
54+ }
55+
56+ return $ collect ;
57+ }
58+ }
Original file line number Diff line number Diff line change 1010namespace SebastianBergmann \CodeCoverage ;
1111
1212use SebastianBergmann \CodeCoverage \Driver \Driver ;
13+ use SebastianBergmann \CodeCoverage \Driver \PHPDBG ;
14+ use SebastianBergmann \CodeCoverage \Driver \PCOV ;
15+ use SebastianBergmann \CodeCoverage \Driver \Xdebug ;
1316use SebastianBergmann \Environment \Runtime ;
1417
1518/**
You can’t perform that action at this time.
0 commit comments