Skip to content

Commit 6caa5a3

Browse files
ArturGoldynsebastianbergmann
authored andcommitted
Issue #2591 - do not pass methodName if running entire test class in a separate process.
1 parent c770c05 commit 6caa5a3

File tree

2 files changed

+35
-25
lines changed

2 files changed

+35
-25
lines changed

src/Framework/TestCase.php

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -838,31 +838,36 @@ public function run(TestResult $result = null)
838838

839839
$runEntireClass = $this->runClassInSeparateProcess && !$this->runTestInSeparateProcess;
840840

841+
$var = [
842+
'composerAutoload' => $composerAutoload,
843+
'phar' => $phar,
844+
'filename' => $class->getFileName(),
845+
'className' => $class->getName(),
846+
'runEntireClass' => $runEntireClass,
847+
'collectCodeCoverageInformation' => $coverage,
848+
'data' => $data,
849+
'dataName' => $dataName,
850+
'dependencyInput' => $dependencyInput,
851+
'constants' => $constants,
852+
'globals' => $globals,
853+
'include_path' => $includePath,
854+
'included_files' => $includedFiles,
855+
'iniSettings' => $iniSettings,
856+
'isStrictAboutTestsThatDoNotTestAnything' => $isStrictAboutTestsThatDoNotTestAnything,
857+
'isStrictAboutOutputDuringTests' => $isStrictAboutOutputDuringTests,
858+
'enforcesTimeLimit' => $enforcesTimeLimit,
859+
'isStrictAboutTodoAnnotatedTests' => $isStrictAboutTodoAnnotatedTests,
860+
'isStrictAboutResourceUsageDuringSmallTests' => $isStrictAboutResourceUsageDuringSmallTests,
861+
'codeCoverageFilter' => $codeCoverageFilter,
862+
'configurationFilePath' => $configurationFilePath
863+
];
864+
865+
if (!$runEntireClass) {
866+
$var['methodName'] = $this->name;
867+
}
868+
841869
$template->setVar(
842-
[
843-
'composerAutoload' => $composerAutoload,
844-
'phar' => $phar,
845-
'filename' => $class->getFileName(),
846-
'className' => $class->getName(),
847-
'methodName' => $runEntireClass ? null : $this->name,
848-
'runEntireClass' => $runEntireClass,
849-
'collectCodeCoverageInformation' => $coverage,
850-
'data' => $data,
851-
'dataName' => $dataName,
852-
'dependencyInput' => $dependencyInput,
853-
'constants' => $constants,
854-
'globals' => $globals,
855-
'include_path' => $includePath,
856-
'included_files' => $includedFiles,
857-
'iniSettings' => $iniSettings,
858-
'isStrictAboutTestsThatDoNotTestAnything' => $isStrictAboutTestsThatDoNotTestAnything,
859-
'isStrictAboutOutputDuringTests' => $isStrictAboutOutputDuringTests,
860-
'enforcesTimeLimit' => $enforcesTimeLimit,
861-
'isStrictAboutTodoAnnotatedTests' => $isStrictAboutTodoAnnotatedTests,
862-
'isStrictAboutResourceUsageDuringSmallTests' => $isStrictAboutResourceUsageDuringSmallTests,
863-
'codeCoverageFilter' => $codeCoverageFilter,
864-
'configurationFilePath' => $configurationFilePath
865-
]
870+
$var
866871
);
867872

868873
$this->prepareTemplate($template);

src/Util/PHP/Template/TestCaseMethod.tpl.dist

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ function __phpunit_run_isolated_test()
4747
$result->beStrictAboutTodoAnnotatedTests({isStrictAboutTodoAnnotatedTests});
4848
$result->beStrictAboutResourceUsageDuringSmallTests({isStrictAboutResourceUsageDuringSmallTests});
4949

50-
$test = new {className}('{methodName}', unserialize('{data}'), '{dataName}');
50+
if (isset($runEntireClass) && $runEntireClass) {
51+
$test = new {className}(null, unserialize('{data}'), '{dataName}');
52+
} else {
53+
$test = new {className}('{methodName}', unserialize('{data}'), '{dataName}');
54+
}
55+
5156
$test->setDependencyInput(unserialize('{dependencyInput}'));
5257
$test->setInIsolation(TRUE);
5358

0 commit comments

Comments
 (0)