tree df582a85d8d607318e62da2f24b3aa44a6f44775
parent c800d180b0ccc39f135d09f67113b2ca30f8a96d
author Greg Spencer <gspencer@google.com> 1597449711 -0700
committer Greg Spencer <gspencer@google.com> 1597449711 -0700

Changed the result in ProcessRunnerException to be a ProcessRunnerResult

* Breaking change to change the result given in the ProcessRunnerException
  to be a ProcessRunnerResult instead of a ProcessResult, which can't
  include the interleaved stdout/stderr output for failed commands.

* Modified the ProcessPool to set the result correctly on failed jobs.

* Added tests to verify that failed jobs return results.
