Better dump failure testing

This commit is contained in:
Jordan Brown
2020-07-30 01:52:43 -04:00
parent db2b989ae9
commit 7e32551586
@@ -84,9 +84,15 @@ namespace Tgstation.Server.Tests.Instance
File.Delete(dumpFiles.Single());
KillDD(true);
var dumpTask = instanceClient.DreamDaemon.CreateDump(cancellationToken);
while (!dumpTask.IsCompleted)
KillDD(false);
Task<Job> dumpTask = null;
var killTask = Task.Run(() =>
{
while (dumpTask?.IsCompleted != true)
KillDD(false);
});
dumpTask = instanceClient.DreamDaemon.CreateDump(cancellationToken);
await killTask;
var job = await WaitForJob(await dumpTask, 20, true, null, cancellationToken);
Assert.IsTrue(job.ErrorCode == ErrorCode.DreamDaemonOffline || job.ErrorCode == ErrorCode.GCoreFailure, $"{job.ErrorCode}: {job.ExceptionDetails}");
await Task.Delay(TimeSpan.FromSeconds(20), cancellationToken);