From d3d4f7ebe6c80298e596a76e2d858c7cea41ffc3 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Sun, 11 Oct 2020 13:16:15 +0200 Subject: [PATCH] Fix ContentIntegrationTest.WaitUntil not checking if the condition is true afterwards (#2192) * Fix ContentIntegrationTest.WaitUntil not checking if the condition is true afterwards And remove TryLoadEntities * Maybe put the assert last --- .../ContentIntegrationTest.cs | 26 ++++--------------- .../Tests/Doors/AirlockTest.cs | 4 +-- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/Content.IntegrationTests/ContentIntegrationTest.cs b/Content.IntegrationTests/ContentIntegrationTest.cs index 84cc3b8aee..85184d6f65 100644 --- a/Content.IntegrationTests/ContentIntegrationTest.cs +++ b/Content.IntegrationTests/ContentIntegrationTest.cs @@ -129,30 +129,12 @@ namespace Content.IntegrationTests return grid; } - protected async Task TryLoadEntities(IntegrationInstance instance, params string[] yamls) - { - await instance.WaitIdleAsync(); - - var prototypeManager = instance.ResolveDependency(); - - instance.Post(() => - { - foreach (var yaml in yamls) - { - using var reader = new StringReader(yaml); - - prototypeManager.LoadFromStream(reader); - } - }); - - await instance.WaitIdleAsync(); - } - - protected async Task WaitUntil(IntegrationInstance instance, Func predicate, int tickStep = 10, int maxTicks = 600) + protected async Task WaitUntil(IntegrationInstance instance, Func func, int tickStep = 10, int maxTicks = 600) { var ticksAwaited = 0; + bool passed; - while (!predicate(instance) && ticksAwaited < maxTicks) + while (!(passed = func()) && ticksAwaited < maxTicks) { await instance.WaitIdleAsync(); instance.RunTicks(tickStep); @@ -160,6 +142,8 @@ namespace Content.IntegrationTests } await instance.WaitIdleAsync(); + + Assert.That(passed); } private static async Task StartConnectedPairShared(ClientIntegrationInstance client, ServerIntegrationInstance server) diff --git a/Content.IntegrationTests/Tests/Doors/AirlockTest.cs b/Content.IntegrationTests/Tests/Doors/AirlockTest.cs index 939ebce941..5785cc2499 100644 --- a/Content.IntegrationTests/Tests/Doors/AirlockTest.cs +++ b/Content.IntegrationTests/Tests/Doors/AirlockTest.cs @@ -47,7 +47,7 @@ namespace Content.IntegrationTests.Tests.Doors await server.WaitIdleAsync(); - await WaitUntil(server, _ => airlockComponent.State == DoorState.Open); + await WaitUntil(server, () => airlockComponent.State == DoorState.Open); Assert.That(airlockComponent.State, Is.EqualTo(DoorState.Open)); @@ -57,7 +57,7 @@ namespace Content.IntegrationTests.Tests.Doors Assert.That(airlockComponent.State, Is.EqualTo(DoorState.Closing)); }); - await WaitUntil(server, _ => airlockComponent.State == DoorState.Closed); + await WaitUntil(server, () => airlockComponent.State == DoorState.Closed); Assert.That(airlockComponent.State, Is.EqualTo(DoorState.Closed));