Clean up timeout reporting
This was sometimes reporting a null when the timeout takes place. We need to throw with a timeout for real
This commit is contained in:
parent
f93f67a53a
commit
1e8e541f65
|
|
@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
process.BeginErrorReadLine();
|
process.BeginErrorReadLine();
|
||||||
process.BeginOutputReadLine();
|
process.BeginOutputReadLine();
|
||||||
|
|
||||||
var timeoutTask = Task.Delay(timeout.Value).ContinueWith((t) =>
|
var timeoutTask = Task.Delay(timeout.Value).ContinueWith<MSBuildResult>((t) =>
|
||||||
{
|
{
|
||||||
// Don't timeout during debug sessions
|
// Don't timeout during debug sessions
|
||||||
while (Debugger.IsAttached)
|
while (Debugger.IsAttached)
|
||||||
|
|
@ -68,15 +68,12 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
Thread.Sleep(TimeSpan.FromSeconds(1));
|
Thread.Sleep(TimeSpan.FromSeconds(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process.HasExited)
|
if (!process.HasExited)
|
||||||
{
|
{
|
||||||
// This will happen on success, the 'real' task has already completed so this value will
|
// This is a timeout.
|
||||||
// never be visible.
|
process.Kill();
|
||||||
return (MSBuildResult)null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is a timeout.
|
|
||||||
process.Kill();
|
|
||||||
throw new TimeoutException($"command '${process.StartInfo.FileName} {process.StartInfo.Arguments}' timed out after {timeout}. Output: {output.ToString()}");
|
throw new TimeoutException($"command '${process.StartInfo.FileName} {process.StartInfo.Arguments}' timed out after {timeout}. Output: {output.ToString()}");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue