public void Record_ProcessExecutionError() { Assert.Throws <DeployException>( delegate { actionRecorder.RecordToolAction(MetricActionType, delegate { try { throw new ProcessExecutionException("test", 1); } catch (ProcessExecutionException e) { throw new DeployException("test wrapped", e); } }); }); var externalToolError = new DeveloperLogEvent.Types.ExternalToolError { ExitCode = 1 }; logEvent.StatusCode = DeveloperEventStatus.Types.Code.ExternalToolFailure; logEvent.ExternalToolError = externalToolError; metrics.Received(1).RecordEvent(EventType, logEvent); AssertTimerUsedCorrectly(); }
static DeveloperLogEvent RecordProcessException(ProcessException e) { var logEvent = new DeveloperLogEvent(); if (e is ProcessExecutionException) { logEvent.StatusCode = DeveloperEventStatus.Types.Code.ExternalToolFailure; var externalError = new DeveloperLogEvent.Types.ExternalToolError { ExitCode = ((ProcessExecutionException)e).ExitCode }; logEvent.ExternalToolError = externalError; } else { logEvent.StatusCode = DeveloperEventStatus.Types.Code.ExternalToolUnavailable; } return(logEvent); }