The passed in exception caused the warning.
public addWarning ( PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, float $time ) | ||
$test | PHPUnit_Framework_Test | |
$e | PHPUnit_Framework_Warning | |
$time | float |
/** * Processes the TestResult object from an isolated process. * * @param PHPUnit_Framework_Test $test * @param PHPUnit_Framework_TestResult $result * @param string $stdout * @param string $stderr * * @since Method available since Release 3.5.0 */ private function processChildResult(PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result, $stdout, $stderr) { $time = 0; if (!empty($stderr)) { $result->addError($test, new PHPUnit_Framework_Exception(trim($stderr)), $time); } else { set_error_handler(function ($errno, $errstr, $errfile, $errline) { throw new ErrorException($errstr, $errno, $errno, $errfile, $errline); }); try { if (strpos($stdout, "#!/usr/bin/env php\n") === 0) { $stdout = substr($stdout, 19); } $childResult = unserialize(str_replace("#!/usr/bin/env php\n", '', $stdout)); restore_error_handler(); } catch (ErrorException $e) { restore_error_handler(); $childResult = false; $result->addError($test, new PHPUnit_Framework_Exception(trim($stdout), 0, $e), $time); } if ($childResult !== false) { if (!empty($childResult['output'])) { $output = $childResult['output']; } $test->setResult($childResult['testResult']); $test->addToAssertionCount($childResult['numAssertions']); $childResult = $childResult['result']; /* @var $childResult PHPUnit_Framework_TestResult */ if ($result->getCollectCodeCoverageInformation()) { $result->getCodeCoverage()->merge($childResult->getCodeCoverage()); } $time = $childResult->time(); $notImplemented = $childResult->notImplemented(); $risky = $childResult->risky(); $skipped = $childResult->skipped(); $errors = $childResult->errors(); $warnings = $childResult->warnings(); $failures = $childResult->failures(); if (!empty($notImplemented)) { $result->addError($test, $this->getException($notImplemented[0]), $time); } elseif (!empty($risky)) { $result->addError($test, $this->getException($risky[0]), $time); } elseif (!empty($skipped)) { $result->addError($test, $this->getException($skipped[0]), $time); } elseif (!empty($errors)) { $result->addError($test, $this->getException($errors[0]), $time); } elseif (!empty($warnings)) { $result->addWarning($test, $this->getException($warnings[0]), $time); } elseif (!empty($failures)) { $result->addFailure($test, $this->getException($failures[0]), $time); } } } $result->endTest($test, $time); if (!empty($output)) { print $output; } }