/** * @return array */ protected function doBuildRunnerOptions() { $options = array(); if ($this->phpunitXMLConfiguration->isEnabled()) { $options[] = '--phpunit-config=' . escapeshellarg($this->phpunitXMLConfiguration->getFileName()); } return $options; }
/** * @since Method available since Release 3.4.0 */ protected function filterGroup() { $include = null; $exclude = null; if ($this->phpunitXMLConfiguration->hasGroupConfiguration('include')) { $include = $this->phpunitXMLConfiguration->getGroupConfiguration('include'); } if ($this->phpunitXMLConfiguration->hasGroupConfiguration('exclude')) { $exclude = $this->phpunitXMLConfiguration->getGroupConfiguration('exclude'); if (is_array($include)) { $include = array_diff($include, $exclude); } } $groups = null; $filter = null; if (is_array($include)) { $groups = $include; $filter = true; } else { if (is_array($exclude)) { $groups = $exclude; $filter = false; } } if ($groups !== null) { $objects = new \SplObjectStorage(); foreach ($groups as $group) { if (isset($this->groups[$group])) { foreach ($this->groups[$group] as $test) { $objects->attach($test); } } } $this->tests = array_filter($this->tests, function ($test) use($objects, $filter) { if ($objects->contains($test)) { return $filter; } else { return !$filter; } }); } }
/** * @since Method available since Release 2.16.0 */ protected function earlyConfigure() { $this->phpunitXMLConfiguration->handlePHPConfiguration(); if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('bootstrap')) { if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('syntaxCheck')) { $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap'), $this->phpunitXMLConfiguration->getPHPUnitConfiguration('syntaxCheck')); } else { $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap')); } } if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('colors')) { $this->terminal->setColor($this->phpunitXMLConfiguration->getPHPUnitConfiguration('colors')); } if ($this->phpunitXMLConfiguration->hasSeleniumBrowserConfiguration()) { \PHPUnit_Extensions_SeleniumTestCase::$browsers = $this->phpunitXMLConfiguration->getSeleniumBrowserConfiguration(); } }
/** * @param \Stagehand\TestRunner\Runner\PHPUnitRunner\Printer\ResultPrinter $printer * @param \PHPUnit_Framework_TestResult $testResult * @return array * @since Method available since Release 3.3.0 */ protected function createArguments(ResultPrinter $printer, \PHPUnit_Framework_TestResult $testResult) { $arguments = array(); $arguments['printer'] = $printer; Stream::register(); $arguments['listeners'] = array(new TestDoxPrinter(fopen('testdox://' . spl_object_hash($testResult), 'w'), $this->terminal, $this->prettifier())); if ($this->hasJUnitXMLFile()) { $arguments['listeners'][] = new JUnitXMLPrinter(null, $this->createJUnitXMLWriter(), $this->testTargetRepository); } if ($this->shouldStopOnFailure()) { $arguments['stopOnFailure'] = true; $arguments['stopOnError'] = true; } if ($this->phpunitXMLConfiguration->isEnabled()) { $arguments['configuration'] = $this->phpunitXMLConfiguration->getFileName(); } return $arguments; }