a test timeout ...
parent
af3973af65
commit
046429dde2
@ -0,0 +1,33 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace test {
|
||||||
|
|
||||||
|
public static class AssertAsync {
|
||||||
|
|
||||||
|
public static void CompletesIn(int timeout, Action action)
|
||||||
|
{
|
||||||
|
var task = Task.Run(action);
|
||||||
|
var completedInTime = Task.WaitAll(new[] { task }, TimeSpan.FromSeconds(timeout));
|
||||||
|
|
||||||
|
if (task.Exception != null)
|
||||||
|
{
|
||||||
|
if (task.Exception.InnerExceptions.Count == 1)
|
||||||
|
{
|
||||||
|
throw task.Exception.InnerExceptions[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
throw task.Exception;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!completedInTime)
|
||||||
|
{
|
||||||
|
throw new TimeoutException($"Task did not complete in {timeout} seconds.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue