in src/_Private/Progress.hack [69:103]
public async function testFinishedWithExceptionAsync(
string $test_method,
?(arraykey, Container<mixed>) $data_provider_row,
\Throwable $ex,
): Awaitable<void> {
if ($ex is HackTest\SkippedTestException) {
$ev = new HackTest\TestSkippedProgressEvent(
$this->path,
$this->class,
$test_method,
$data_provider_row,
);
} else if ($ex is HackTest\ExpectationFailedException) {
$ev = new HackTest\TestFailedProgressEvent(
$this->path,
$this->class,
$test_method,
$data_provider_row,
$ex,
);
} else {
$ev = new HackTest\TestErroredProgressEvent(
$this->path,
$this->class,
$test_method,
$data_provider_row,
$ex,
);
}
if ($ev is HackTest\ErrorProgressEvent) {
$this->errors[] = $ev;
}
$cb = $this->callback;
await $cb($ev);
}