Basically ArcanistUnitTestResult looks like:
public function toDictionary() { return array( 'name' => $this->getName(), 'link' => $this->getLink(), 'result' => $this->getResult(), 'duration' => $this->getDuration(), 'extra' => $this->getExtraData(), 'userData' => $this->getUserData(), 'coverage' => $this->getCoverage(), ); }
while the ArcanistDiffWorkflow does this:
$this->testResults = array(); foreach ($unit_workflow->getTestResults() as $test) { $this->testResults[] = array( 'name' => $test->getName(), 'link' => $test->getLink(), 'result' => $test->getResult(), 'userdata' => $test->getUserData(), 'coverage' => $test->getCoverage(), 'extra' => $test->getExtraData(), ); }
Taking the output from arc unit --output json is almost perfect, except the capitalization of "userData" means that this field doesn't match (even though all of the other fields are fine).