public async function testFinishedWithExceptionAsync()

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);
  }