/** * Run the application. * * @param TestMessage $message * @return void */ public function run(TestMessage $message) { $this->environment->load($this->reader); $this->message = $message; $this->listen($this->environment->getEventEmitter()); $context = Context::getInstance(); $this->looper->loop($context, $this->environment, $message); }
/** * Read a suite path on the environment's read stream and execute * them against a standard Peridot runner. * * @param Context $context * @param Environment $environment * @param Message $message * @return void */ public function loop(Context $context, Environment $environment, Message $message) { while (true) { $input = fgets($environment->getReadStream()); list($token, $path) = $this->getTestInfo($input); $context->setFile($path); putenv("PERIDOT_TEST_TOKEN={$token}"); require $path; $runner = new Runner($context->getCurrentSuite(), $environment->getConfiguration(), $environment->getEventEmitter()); $runner->run(new TestResult($environment->getEventEmitter())); $message->end(); $context->clear(); } }