File tree Expand file tree Collapse file tree 3 files changed +30
-24
lines changed
Expand file tree Collapse file tree 3 files changed +30
-24
lines changed Original file line number Diff line number Diff line change @@ -11,20 +11,6 @@ composer require --dev roave/no-leaks
1111
1212## Usage
1313
14- In your ` phpunit.xml ` configuration, add following section:
15-
16- ``` xml
17- <listeners >
18- <listener class =" Roave\NoLeaks\PHPUnit\CollectTestExecutionMemoryFootprints" />
19- </listeners >
20-
21- <extensions >
22- <extension class =" Roave\NoLeaks\PHPUnit\CollectTestExecutionMemoryFootprints" />
23- </extensions >
24- ```
25-
26- Then run:
27-
2814``` sh
2915vendor/bin/roave-no-leaks
3016```
Original file line number Diff line number Diff line change 55namespace Roave \NoLeaks \CLI ;
66
77use PHPUnit \TextUI \Command ;
8+ use PHPUnit \TextUI \TestRunner ;
9+ use Roave \NoLeaks \PHPUnit \CollectTestExecutionMemoryFootprints ;
810
911(function () {
1012 if (file_exists (__DIR__ . '/../vendor/autoload.php ' )) {
1315 require_once __DIR__ . '/../../../autoload.php ' ;
1416 }
1517
16- $ _SERVER ['argv ' ][] = '--repeat=3 ' ;
18+ (new class extends Command
19+ {
20+ /** @var CollectTestExecutionMemoryFootprints */
21+ private $ collector ;
1722
18- Command::main ();
23+ public function __construct ()
24+ {
25+ $ this ->collector = new CollectTestExecutionMemoryFootprints ();
26+ }
27+
28+ protected function handleArguments (array $ argv ) : void
29+ {
30+ parent ::handleArguments ($ argv );
31+
32+ $ this ->arguments ['listeners ' ] = array_merge (
33+ $ this ->arguments ['listeners ' ] ?? [],
34+ [$ this ->collector ]
35+ );
36+ }
37+
38+ protected function createRunner () : TestRunner
39+ {
40+ $ runner = parent ::createRunner ();
41+
42+ $ runner ->addExtension ($ this ->collector );
43+
44+ return $ runner ;
45+ }
46+ })->run (array_merge ($ _SERVER ['argv ' ], ['--repeat=3 ' ]), true );
1947})();
Original file line number Diff line number Diff line change 1111 beStrictAboutTodoAnnotatedTests =" true"
1212 verbose =" true"
1313>
14- <listeners >
15- <listener class =" Roave\NoLeaks\PHPUnit\CollectTestExecutionMemoryFootprints" />
16- </listeners >
17-
18- <extensions >
19- <extension class =" Roave\NoLeaks\PHPUnit\CollectTestExecutionMemoryFootprints" />
20- </extensions >
21-
2214 <testsuites >
2315 <testsuite name =" Memleak detection e2e tests" >
2416 <file >./LeakyIntegrationTest.php</file >
You can’t perform that action at this time.
0 commit comments