Make ReconnectTest async behavior consistent (#2728)

* Try to fix reconnect test

* Use RunTicksSync in ReconnectTest

* Change the top part as well

* Await the other post

* Update RobustToolbox

* Merge branch 'master' of https://github.com/space-wizards/space-station-14 into fix-reconnect-test-maybe

* Reset RobustToolbox

* Update RobustToolbox

* Merge branch 'master' of https://github.com/space-wizards/space-station-14 into fix-reconnect-test-maybe

* Update RobustToolbox
This commit is contained in:
DrSmugleaf
2020-12-14 08:49:33 +01:00
committed by GitHub
parent d5eb68ac61
commit bb4bbbb8a8

View File

@@ -18,51 +18,29 @@ namespace Content.IntegrationTests.Tests.Networking
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
// Connect.
client.SetConnectTarget(server);
client.Post(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
await client.WaitPost(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
// Run some ticks for the handshake to complete and such.
for (var i = 0; i < 10; i++)
{
server.RunTicks(1);
await server.WaitIdleAsync();
client.RunTicks(1);
await client.WaitIdleAsync();
}
await RunTicksSync(client, server, 10);
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
client.Post(() => IoCManager.Resolve<IClientConsole>().ProcessCommand("disconnect"));
await client.WaitPost(() => IoCManager.Resolve<IClientConsole>().ProcessCommand("disconnect"));
// Run some ticks for the disconnect to complete and such.
for (var i = 0; i < 5; i++)
{
server.RunTicks(1);
await server.WaitIdleAsync();
client.RunTicks(1);
await client.WaitIdleAsync();
}
await RunTicksSync(client, server, 5);
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
// Reconnect.
client.SetConnectTarget(server);
client.Post(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
await client.WaitPost(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
// Run some ticks for the handshake to complete and such.
for (var i = 0; i < 10; i++)
{
server.RunTicks(1);
await server.WaitIdleAsync();
client.RunTicks(1);
await client.WaitIdleAsync();
}
await RunTicksSync(client, server, 10);
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
}