/** * Generate a new Job script to be executed under a separate PHP process * * @param array $mutation Mutation data and objects to be used * @return string */ public function generate(array $mutation = array()) { $serializedMutation = serialize($mutation); $script = <<<SCRIPT <?php require_once 'Mutateme/Loader.php'; \$loader = new \\Mutateme\\Loader; \$loader->register(); \$runner = new \\Mutateme\\Runner\\Mutation; \$runner->setBaseDirectory('{$this->_runner->getBaseDirectory()}') ->setSourceDirectory('{$this->_runner->getSourceDirectory()}') ->setTestDirectory('{$this->_runner->getTestDirectory()}') ->setAdapterName('{$this->_runner->getAdapterName()}') ->setAdapterOptions('{$this->_runner->getAdapterOptions()}') ->setTimeout('{$this->_runner->getTimeout()}') ->setBootstrap('{$this->_runner->getBootstrap()}') ->setMutation('{$serializedMutation}'); \$runner->execute(); SCRIPT; return $script; }
/** * Set timeout in seconds to apply to each test run. The default timeout * is 120 seconds. * * @param \Mutateme\Runner\RunnerAbstract $runner */ protected static function setDetailCaptures(\Mutateme\Runner\RunnerAbstract $runner) { if (isset(self::$_options['detail-captures'])) { $runner->setDetailCaptures(true); } }