diff --git a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs index 296372b18a..4e4098f100 100644 --- a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs +++ b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs @@ -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 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);