public function init(TestDistributor $distributor) { if ($distributor->isTrackingMemory()) { $distributor->addListener(new HighMemoryTestListener($this->output)); } $distributor->addListener(new LongTestListener($this->output)); }
public function onExit($status) { if ($this->pendingRequests->count() > 0) { $nextExpectedTest = $this->pendingRequests->dequeue(); $this->distributor->testCompleted($this, TestResult::errorFromRequest($nextExpectedTest, "Worker{$this->id} died\n{$this->testErr}")); } }
private function handleWriters(array $writers, TestDistributor $distributor) { foreach ($writers as $writer) { if (!strpos($writer, ':')) { throw new \InvalidArgumentException("Writers must be in the format format:filename"); } list($formatter, $filename) = explode(':', $writer); $file = fopen($filename, 'w'); $output = new StreamOutput($file); $distributor->addListener($this->getFormatter($formatter, $output)); } }