Change default test pooling options. (#18732)

This commit is contained in:
Leon Friedrich
2023-08-06 14:30:28 +12:00
committed by GitHub
parent ccb63cb3f2
commit 9c84108672
94 changed files with 385 additions and 492 deletions

View File

@@ -58,7 +58,7 @@ public class DeviceNetworkingBenchmark
public async Task SetupAsync() public async Task SetupAsync()
{ {
ProgramShared.PathOffset = "../../../../"; ProgramShared.PathOffset = "../../../../";
_pair = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); _pair = await PoolManager.GetServerClient();
var server = _pair.Pair.Server; var server = _pair.Pair.Server;
await server.WaitPost(() => await server.WaitPost(() =>

View File

@@ -43,7 +43,7 @@ public static partial class PoolManager
{ {
public const string TestMap = "Empty"; public const string TestMap = "Empty";
private static readonly (string cvar, string value)[] ServerTestCvars = private static readonly (string cvar, string value)[] TestCvars =
{ {
// @formatter:off // @formatter:off
(CCVars.DatabaseSynchronous.Name, "true"), (CCVars.DatabaseSynchronous.Name, "true"),
@@ -60,6 +60,17 @@ public static partial class PoolManager
(CCVars.EmergencyShuttleEnabled.Name, "false"), (CCVars.EmergencyShuttleEnabled.Name, "false"),
(CCVars.ProcgenPreload.Name, "false"), (CCVars.ProcgenPreload.Name, "false"),
(CCVars.WorldgenEnabled.Name, "false"), (CCVars.WorldgenEnabled.Name, "false"),
(CVars.ReplayClientRecordingEnabled.Name, "false"),
(CVars.ReplayServerRecordingEnabled.Name, "false"),
(CCVars.GameDummyTicker.Name, "true"),
(CCVars.GameLobbyEnabled.Name, "false"),
(CCVars.ConfigPresetDevelopment.Name, "false"),
(CCVars.AdminLogsEnabled.Name, "false"),
// This breaks some tests.
// TODO: Figure out which tests this breaks.
(CVars.NetBufferSize.Name, "0")
// @formatter:on // @formatter:on
}; };
@@ -109,10 +120,10 @@ public static partial class PoolManager
.OnValueChanged(RTCVars.FailureLogLevel, value => logHandler.FailureLevel = value, true); .OnValueChanged(RTCVars.FailureLogLevel, value => logHandler.FailureLevel = value, true);
}; };
SetupCVars(poolSettings, options); SetDefaultCVars(options);
var server = new RobustIntegrationTest.ServerIntegrationInstance(options); var server = new RobustIntegrationTest.ServerIntegrationInstance(options);
await server.WaitIdleAsync(); await server.WaitIdleAsync();
await SetupCVars(server, poolSettings);
return (server, logHandler); return (server, logHandler);
} }
@@ -206,42 +217,44 @@ public static partial class PoolManager
}); });
}; };
SetupCVars(poolSettings, options); SetDefaultCVars(options);
var client = new RobustIntegrationTest.ClientIntegrationInstance(options); var client = new RobustIntegrationTest.ClientIntegrationInstance(options);
await client.WaitIdleAsync(); await client.WaitIdleAsync();
await SetupCVars(client, poolSettings);
return (client, logHandler); return (client, logHandler);
} }
private static void SetupCVars(PoolSettings poolSettings, RobustIntegrationTest.IntegrationOptions options) private static async Task SetupCVars(RobustIntegrationTest.IntegrationInstance instance, PoolSettings settings)
{ {
foreach (var (cvar, value) in ServerTestCvars) var cfg = instance.ResolveDependency<IConfigurationManager>();
await instance.WaitPost(() =>
{
if (cfg.IsCVarRegistered(CCVars.GameDummyTicker.Name))
cfg.SetCVar(CCVars.GameDummyTicker, settings.UseDummyTicker);
if (cfg.IsCVarRegistered(CCVars.GameLobbyEnabled.Name))
cfg.SetCVar(CCVars.GameLobbyEnabled, settings.InLobby);
if (cfg.IsCVarRegistered(CVars.NetInterp.Name))
cfg.SetCVar(CVars.NetInterp, settings.DisableInterpolate);
if (cfg.IsCVarRegistered(CCVars.GameMap.Name))
cfg.SetCVar(CCVars.GameMap, settings.Map);
if (cfg.IsCVarRegistered(CCVars.AdminLogsEnabled.Name))
cfg.SetCVar(CCVars.AdminLogsEnabled, settings.AdminLogsEnabled);
if (cfg.IsCVarRegistered(CVars.NetInterp.Name))
cfg.SetCVar(CVars.NetInterp, !settings.DisableInterpolate);
});
}
private static void SetDefaultCVars(RobustIntegrationTest.IntegrationOptions options)
{
foreach (var (cvar, value) in TestCvars)
{ {
options.CVarOverrides[cvar] = value; options.CVarOverrides[cvar] = value;
} }
if (poolSettings.DummyTicker)
{
options.CVarOverrides[CCVars.GameDummyTicker.Name] = "true";
}
options.CVarOverrides[CCVars.GameLobbyEnabled.Name] = poolSettings.InLobby.ToString();
if (poolSettings.DisableInterpolate)
{
options.CVarOverrides[CVars.NetInterp.Name] = "false";
}
if (poolSettings.Map != null)
{
options.CVarOverrides[CCVars.GameMap.Name] = poolSettings.Map;
}
options.CVarOverrides[CCVars.ConfigPresetDevelopment.Name] = "false";
// This breaks some tests.
// TODO: Figure out which tests this breaks.
options.CVarOverrides[CVars.NetBufferSize.Name] = "0";
} }
/// <summary> /// <summary>
@@ -281,6 +294,11 @@ public static partial class PoolManager
await testOut.WriteLineAsync( await testOut.WriteLineAsync(
$"{nameof(GetServerClientPair)}: Creating pair, because settings of pool settings"); $"{nameof(GetServerClientPair)}: Creating pair, because settings of pool settings");
pair = await CreateServerClientPair(poolSettings, testOut); pair = await CreateServerClientPair(poolSettings, testOut);
// Newly created pairs should always be in a valid state.
await RunTicksSync(pair, 5);
await SyncTicks(pair, targetDelta: 1);
ValidateFastRecycle(pair, poolSettings);
} }
else else
{ {
@@ -293,13 +311,12 @@ public static partial class PoolManager
await testOut.WriteLineAsync($"{nameof(GetServerClientPair)}: Suitable pair found"); await testOut.WriteLineAsync($"{nameof(GetServerClientPair)}: Suitable pair found");
var canSkip = pair.Settings.CanFastRecycle(poolSettings); var canSkip = pair.Settings.CanFastRecycle(poolSettings);
var cCfg = pair.Client.ResolveDependency<IConfigurationManager>();
cCfg.SetCVar(CCVars.NetInterp, !poolSettings.DisableInterpolate);
if (canSkip) if (canSkip)
{ {
ValidateFastRecycle(pair);
await testOut.WriteLineAsync($"{nameof(GetServerClientPair)}: Cleanup not needed, Skipping cleanup of pair"); await testOut.WriteLineAsync($"{nameof(GetServerClientPair)}: Cleanup not needed, Skipping cleanup of pair");
await SetupCVars(pair.Client, poolSettings);
await SetupCVars(pair.Server, poolSettings);
await RunTicksSync(pair, 1);
} }
else else
{ {
@@ -307,10 +324,9 @@ public static partial class PoolManager
await CleanPooledPair(poolSettings, pair, testOut); await CleanPooledPair(poolSettings, pair, testOut);
} }
// Ensure client is 1 tick ahead of server? I don't think theres a real reason for why it should be await RunTicksSync(pair, 5);
// 1 tick specifically, I am just ensuring consistency with CreateServerClientPair() await SyncTicks(pair, targetDelta: 1);
if (!pair.Settings.NotConnected) ValidateFastRecycle(pair, poolSettings);
await SyncTicks(pair, targetDelta: 1);
} }
else else
{ {
@@ -349,32 +365,38 @@ public static partial class PoolManager
}; };
} }
private static void ValidateFastRecycle(Pair pair) private static void ValidateFastRecycle(Pair pair, PoolSettings settings)
{ {
if (pair.Settings.NoClient || pair.Settings.NoServer) var cfg = pair.Server.ResolveDependency<IConfigurationManager>();
return; Assert.That(cfg.GetCVar(CCVars.AdminLogsEnabled), Is.EqualTo(settings.AdminLogsEnabled));
Assert.That(cfg.GetCVar(CCVars.GameLobbyEnabled), Is.EqualTo(settings.InLobby));
Assert.That(cfg.GetCVar(CCVars.GameDummyTicker), Is.EqualTo(settings.UseDummyTicker));
var ticker = pair.Server.ResolveDependency<EntityManager>().System<GameTicker>();
Assert.That(ticker.DummyTicker, Is.EqualTo(settings.UseDummyTicker));
var expectPreRound = settings.InLobby | settings.DummyTicker;
var expectedLevel = expectPreRound ? GameRunLevel.PreRoundLobby : GameRunLevel.InRound;
Assert.That(ticker.RunLevel, Is.EqualTo(expectedLevel));
var baseClient = pair.Client.ResolveDependency<IBaseClient>(); var baseClient = pair.Client.ResolveDependency<IBaseClient>();
var netMan = pair.Client.ResolveDependency<INetManager>(); var netMan = pair.Client.ResolveDependency<INetManager>();
Assert.That(netMan.IsConnected, Is.Not.EqualTo(pair.Settings.NotConnected)); Assert.That(netMan.IsConnected, Is.Not.EqualTo(!settings.ShouldBeConnected));
if (pair.Settings.NotConnected) if (!settings.ShouldBeConnected)
return; return;
Assert.That(baseClient.RunLevel, Is.EqualTo(ClientRunLevel.InGame)); Assert.That(baseClient.RunLevel, Is.EqualTo(ClientRunLevel.InGame));
var cPlayer = pair.Client.ResolveDependency<Robust.Client.Player.IPlayerManager>(); var cPlayer = pair.Client.ResolveDependency<Robust.Client.Player.IPlayerManager>();
var sPlayer = pair.Server.ResolveDependency<IPlayerManager>(); var sPlayer = pair.Server.ResolveDependency<IPlayerManager>();
Assert.That(sPlayer.Sessions.Count(), Is.EqualTo(1)); Assert.That(sPlayer.Sessions.Count(), Is.EqualTo(1));
Assert.That(cPlayer.LocalPlayer?.Session?.UserId, Is.EqualTo(sPlayer.Sessions.Single().UserId)); Assert.That(cPlayer.LocalPlayer?.Session.UserId, Is.EqualTo(sPlayer.Sessions.Single().UserId));
var ticker = pair.Server.ResolveDependency<EntityManager>().System<GameTicker>(); if (ticker.DummyTicker)
Assert.That(ticker.DummyTicker, Is.EqualTo(pair.Settings.DummyTicker)); return;
var cfg = pair.Server.ResolveDependency<IConfigurationManager>();
Assert.That(cfg.GetCVar(CCVars.GameLobbyEnabled), Is.EqualTo(pair.Settings.InLobby));
var status = ticker.PlayerGameStatuses[sPlayer.Sessions.Single().UserId]; var status = ticker.PlayerGameStatuses[sPlayer.Sessions.Single().UserId];
var expected = pair.Settings.InLobby var expected = settings.InLobby
? PlayerGameStatus.NotReadyToPlay ? PlayerGameStatus.NotReadyToPlay
: PlayerGameStatus.JoinedGame; : PlayerGameStatus.JoinedGame;
@@ -426,64 +448,59 @@ public static partial class PoolManager
} }
} }
private static async Task CleanPooledPair(PoolSettings poolSettings, Pair pair, TextWriter testOut) private static async Task CleanPooledPair(PoolSettings settings, Pair pair, TextWriter testOut)
{ {
pair.Settings = default!;
var methodWatch = new Stopwatch(); var methodWatch = new Stopwatch();
methodWatch.Start(); methodWatch.Start();
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Setting CVar "); await testOut.WriteLineAsync($"Recycling...");
var configManager = pair.Server.ResolveDependency<IConfigurationManager>(); var configManager = pair.Server.ResolveDependency<IConfigurationManager>();
var entityManager = pair.Server.ResolveDependency<IEntityManager>(); var entityManager = pair.Server.ResolveDependency<IEntityManager>();
var gameTicker = entityManager.System<GameTicker>(); var gameTicker = entityManager.System<GameTicker>();
configManager.SetCVar(CCVars.GameLobbyEnabled, poolSettings.InLobby);
configManager.SetCVar(CCVars.GameMap, TestMap);
var cNetMgr = pair.Client.ResolveDependency<IClientNetManager>(); var cNetMgr = pair.Client.ResolveDependency<IClientNetManager>();
if (!cNetMgr.IsConnected)
await RunTicksSync(pair, 1);
// Disconnect the client if they are connected.
if (cNetMgr.IsConnected)
{ {
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Connecting client, and restarting server"); await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Disconnecting client.");
pair.Client.SetConnectTarget(pair.Server); await pair.Client.WaitPost(() => cNetMgr.ClientDisconnect("Test pooling cleanup disconnect"));
await pair.Server.WaitPost(() => await RunTicksSync(pair, 1);
{
gameTicker.RestartRound();
});
await pair.Client.WaitPost(() =>
{
cNetMgr.ClientConnect(null!, 0, null!);
});
} }
await ReallyBeIdle(pair, 5); Assert.That(cNetMgr.IsConnected, Is.False);
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Disconnecting client, and restarting server"); // Move to pre-round lobby. Required to toggle dummy ticker on and off
if (gameTicker.RunLevel != GameRunLevel.PreRoundLobby)
await pair.Client.WaitPost(() =>
{ {
cNetMgr.ClientDisconnect("Test pooling cleanup disconnect"); await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Restarting server.");
}); Assert.That(gameTicker.DummyTicker, Is.False);
configManager.SetCVar(CCVars.GameLobbyEnabled, true);
await pair.Server.WaitPost(() => gameTicker.RestartRound());
await RunTicksSync(pair, 1);
}
await ReallyBeIdle(pair, 5); //Apply Cvars
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Setting CVar ");
await SetupCVars(pair.Client, settings);
await SetupCVars(pair.Server, settings);
await RunTicksSync(pair, 1);
configManager.SetCVar(CCVars.GameMap, poolSettings.Map); // Restart server.
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Restarting server again"); await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Restarting server again");
configManager.SetCVar(CCVars.GameMap, poolSettings.Map);
configManager.SetCVar(CCVars.GameDummyTicker, poolSettings.DummyTicker);
await pair.Server.WaitPost(() => gameTicker.RestartRound()); await pair.Server.WaitPost(() => gameTicker.RestartRound());
await RunTicksSync(pair, 1);
if (!poolSettings.NotConnected) // Connect client
if (settings.ShouldBeConnected)
{ {
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Connecting client"); await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Connecting client");
await ReallyBeIdle(pair);
pair.Client.SetConnectTarget(pair.Server); pair.Client.SetConnectTarget(pair.Server);
var netMgr = pair.Client.ResolveDependency<IClientNetManager>(); await pair.Client.WaitPost(() => cNetMgr.ClientConnect(null!, 0, null!));
await pair.Client.WaitPost(() =>
{
if (!netMgr.IsConnected)
{
netMgr.ClientConnect(null!, 0, null!);
}
});
} }
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Idling");
await ReallyBeIdle(pair); await ReallyBeIdle(pair);
await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Done recycling"); await testOut.WriteLineAsync($"Recycling: {methodWatch.Elapsed.TotalMilliseconds} ms: Done recycling");
} }
@@ -533,7 +550,13 @@ we are just going to end this here to save a lot of time. This is the exception
throw; throw;
} }
if (!poolSettings.NotConnected) if (!poolSettings.UseDummyTicker)
{
var gameTicker = pair.Server.ResolveDependency<IEntityManager>().System<GameTicker>();
await pair.Server.WaitPost(() => gameTicker.RestartRound());
}
if (poolSettings.ShouldBeConnected)
{ {
pair.Client.SetConnectTarget(pair.Server); pair.Client.SetConnectTarget(pair.Server);
await pair.Client.WaitPost(() => await pair.Client.WaitPost(() =>
@@ -564,10 +587,7 @@ we are just going to end this here to save a lot of time. This is the exception
var settings = pairTracker.Pair.Settings; var settings = pairTracker.Pair.Settings;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var tileDefinitionManager = server.ResolveDependency<ITileDefinitionManager>(); var tileDefinitionManager = server.ResolveDependency<ITileDefinitionManager>();
var entityManager = server.ResolveDependency<IEntityManager>();
var xformSystem = entityManager.System<SharedTransformSystem>();
if (settings.NoServer) throw new Exception("Cannot setup test map without server");
var mapData = new TestMapData(); var mapData = new TestMapData();
await server.WaitPost(() => await server.WaitPost(() =>
{ {
@@ -582,7 +602,7 @@ we are just going to end this here to save a lot of time. This is the exception
mapData.MapCoords = new MapCoordinates(0, 0, mapData.MapId); mapData.MapCoords = new MapCoordinates(0, 0, mapData.MapId);
mapData.Tile = mapData.MapGrid.GetAllTiles().First(); mapData.Tile = mapData.MapGrid.GetAllTiles().First();
}); });
if (!settings.Disconnected) if (settings.ShouldBeConnected)
{ {
await RunTicksSync(pairTracker.Pair, 10); await RunTicksSync(pairTracker.Pair, 10);
} }
@@ -752,11 +772,6 @@ public sealed class PoolSettings
/// </summary> /// </summary>
public bool MustBeNew => Fresh || NoLoadContent || NoLoadTestPrototypes; public bool MustBeNew => Fresh || NoLoadContent || NoLoadTestPrototypes;
/// <summary>
/// If the given pair must not be connected
/// </summary>
public bool NotConnected => NoClient || NoServer || Disconnected;
/// <summary> /// <summary>
/// Set to true if the test will ruin the server/client pair. /// Set to true if the test will ruin the server/client pair.
/// </summary> /// </summary>
@@ -768,19 +783,33 @@ public sealed class PoolSettings
public bool Fresh { get; init; } public bool Fresh { get; init; }
/// <summary> /// <summary>
/// Set to true if the given server should be using a dummy ticker. /// Set to true if the given server should be using a dummy ticker. Ignored if <see cref="InLobby"/> is true.
/// </summary> /// </summary>
public bool DummyTicker { get; init; } public bool DummyTicker { get; init; } = true;
public bool UseDummyTicker => !InLobby && DummyTicker;
/// <summary> /// <summary>
/// Set to true if the given server/client pair should be disconnected from each other. /// If true, this enables the creation of admin logs during the test.
/// </summary> /// </summary>
public bool Disconnected { get; init; } public bool AdminLogsEnabled { get; init; }
/// <summary>
/// Set to true if the given server/client pair should be connected from each other.
/// Defaults to disconnected as it makes dirty recycling slightly faster.
/// If <see cref="InLobby"/> is true, this option is ignored.
/// </summary>
public bool Connected { get; init; }
public bool ShouldBeConnected => InLobby || Connected;
/// <summary> /// <summary>
/// Set to true if the given server/client pair should be in the lobby. /// Set to true if the given server/client pair should be in the lobby.
/// If the pair is not in the lobby at the end of the test, this test must be marked as dirty. /// If the pair is not in the lobby at the end of the test, this test must be marked as dirty.
/// </summary> /// </summary>
/// <remarks>
/// If this is enabled, the value of <see cref="DummyTicker"/> is ignored.
/// </remarks>
public bool InLobby { get; init; } public bool InLobby { get; init; }
/// <summary> /// <summary>
@@ -811,16 +840,6 @@ public sealed class PoolSettings
/// </summary> /// </summary>
public string Map { get; init; } = PoolManager.TestMap; public string Map { get; init; } = PoolManager.TestMap;
/// <summary>
/// Set to true if the test won't use the client (so we can skip cleaning it up)
/// </summary>
public bool NoClient { get; init; }
/// <summary>
/// Set to true if the test won't use the server (so we can skip cleaning it up)
/// </summary>
public bool NoServer { get; init; }
/// <summary> /// <summary>
/// Overrides the test name detection, and uses this in the test history instead /// Overrides the test name detection, and uses this in the test history instead
/// </summary> /// </summary>
@@ -843,8 +862,8 @@ public sealed class PoolSettings
return false; return false;
// Check that certain settings match. // Check that certain settings match.
return NotConnected == nextSettings.NotConnected return !ShouldBeConnected == !nextSettings.ShouldBeConnected
&& DummyTicker == nextSettings.DummyTicker && UseDummyTicker == nextSettings.UseDummyTicker
&& Map == nextSettings.Map && Map == nextSettings.Map
&& InLobby == nextSettings.InLobby; && InLobby == nextSettings.InLobby;
} }

View File

@@ -15,7 +15,7 @@ namespace Content.IntegrationTests.Tests.Access
[Test] [Test]
public async Task TestProtoTags() public async Task TestProtoTags()
{ {
await using var pair = await PoolManager.GetServerClient(new PoolSettings() { NoClient = true }); await using var pair = await PoolManager.GetServerClient();
var server = pair.Pair.Server; var server = pair.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();
@@ -44,7 +44,7 @@ namespace Content.IntegrationTests.Tests.Access
[Test] [Test]
public async Task TestTags() public async Task TestTags()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -3,14 +3,12 @@ using System.Linq;
using Content.Server.Administration.Logs; using Content.Server.Administration.Logs;
using Content.Server.Database; using Content.Server.Database;
using Content.Server.GameTicking; using Content.Server.GameTicking;
using Content.Server.GameTicking.Commands;
using Content.Shared.Administration.Logs; using Content.Shared.Administration.Logs;
using Content.Shared.CCVar;
using Content.Shared.Database; using Content.Shared.Database;
using Robust.Server.Player; using Robust.Server.Player;
using Robust.Shared.Configuration;
using Robust.Shared.GameObjects; using Robust.Shared.GameObjects;
using Robust.Shared.Map; using Robust.Shared.Map;
using Robust.Shared.Utility;
namespace Content.IntegrationTests.Tests.Administration.Logs; namespace Content.IntegrationTests.Tests.Administration.Logs;
@@ -18,14 +16,19 @@ namespace Content.IntegrationTests.Tests.Administration.Logs;
[TestOf(typeof(AdminLogSystem))] [TestOf(typeof(AdminLogSystem))]
public sealed class AddTests public sealed class AddTests
{ {
public static PoolSettings LogTestSettings = new()
{
AdminLogsEnabled = true,
DummyTicker = false,
Connected = true
};
[Test] [Test]
public async Task AddAndGetSingleLog() public async Task AddAndGetSingleLog()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
var sMaps = server.ResolveDependency<IMapManager>();
var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>(); var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>();
@@ -68,12 +71,11 @@ public sealed class AddTests
[Test] [Test]
public async Task AddAndGetUnformattedLog() public async Task AddAndGetUnformattedLog()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sDatabase = server.ResolveDependency<IServerDbManager>(); var sDatabase = server.ResolveDependency<IServerDbManager>();
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
var sMaps = server.ResolveDependency<IMapManager>();
var sSystems = server.ResolveDependency<IEntitySystemManager>(); var sSystems = server.ResolveDependency<IEntitySystemManager>();
var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>(); var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>();
@@ -135,12 +137,10 @@ public sealed class AddTests
[TestCase(500)] [TestCase(500)]
public async Task BulkAddLogs(int amount) public async Task BulkAddLogs(int amount)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
var sMaps = server.ResolveDependency<IMapManager>();
var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>(); var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>();
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -167,11 +167,10 @@ public sealed class AddTests
[Test] [Test]
public async Task AddPlayerSessionLog() public async Task AddPlayerSessionLog()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sPlayers = server.ResolveDependency<IPlayerManager>(); var sPlayers = server.ResolveDependency<IPlayerManager>();
var sSystems = server.ResolveDependency<IEntitySystemManager>();
var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>(); var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>();
Guid playerGuid = default; Guid playerGuid = default;
@@ -204,7 +203,14 @@ public sealed class AddTests
[Test] [Test]
public async Task PreRoundAddAndGetSingle() public async Task PreRoundAddAndGetSingle()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Dirty = true, InLobby = true }); var setting = new PoolSettings
{
Dirty = true,
InLobby = true,
AdminLogsEnabled = true
};
await using var pairTracker = await PoolManager.GetServerClient(setting);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sDatabase = server.ResolveDependency<IServerDbManager>(); var sDatabase = server.ResolveDependency<IServerDbManager>();
@@ -264,12 +270,10 @@ public sealed class AddTests
[Test] [Test]
public async Task DuplicatePlayerDoesNotThrowTest() public async Task DuplicatePlayerDoesNotThrowTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sPlayers = server.ResolveDependency<IPlayerManager>(); var sPlayers = server.ResolveDependency<IPlayerManager>();
var sSystems = server.ResolveDependency<IEntitySystemManager>();
var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>(); var sAdminLogSystem = server.ResolveDependency<IAdminLogManager>();
var guid = Guid.NewGuid(); var guid = Guid.NewGuid();
@@ -303,7 +307,7 @@ public sealed class AddTests
[Test] [Test]
public async Task DuplicatePlayerIdDoesNotThrowTest() public async Task DuplicatePlayerIdDoesNotThrowTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sPlayers = server.ResolveDependency<IPlayerManager>(); var sPlayers = server.ResolveDependency<IPlayerManager>();

View File

@@ -14,7 +14,7 @@ public sealed class FilterTests
[TestCase(DateOrder.Descending)] [TestCase(DateOrder.Descending)]
public async Task Date(DateOrder order) public async Task Date(DateOrder order)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(AddTests.LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();

View File

@@ -15,7 +15,7 @@ public sealed class QueryTests
[Test] [Test]
public async Task QuerySingleLog() public async Task QuerySingleLog()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(AddTests.LogTestSettings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sSystems = server.ResolveDependency<IEntitySystemManager>(); var sSystems = server.ResolveDependency<IEntitySystemManager>();

View File

@@ -24,7 +24,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[Test] [Test]
public async Task TestAlarmThreshold() public async Task TestAlarmThreshold()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var prototypeManager = server.ResolveDependency<IPrototypeManager>(); var prototypeManager = server.ResolveDependency<IPrototypeManager>();

View File

@@ -12,7 +12,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[Test] [Test]
public async Task TotalGasesTest() public async Task TotalGasesTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -12,7 +12,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[Test] [Test]
public async Task TestMerge() public async Task TestMerge()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var atmosphereSystem = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<AtmosphereSystem>(); var atmosphereSystem = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<AtmosphereSystem>();
@@ -69,7 +69,7 @@ namespace Content.IntegrationTests.Tests.Atmos
[TestCase(Atmospherics.BreathPercentage)] [TestCase(Atmospherics.BreathPercentage)]
public async Task RemoveRatio(float ratio) public async Task RemoveRatio(float ratio)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitAssertion(() => await server.WaitAssertion(() =>

View File

@@ -29,10 +29,7 @@ namespace Content.IntegrationTests.Tests.Body
[Test] [Test]
public async Task RemoveLegsFallTest() public async Task RemoveLegsFallTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
EntityUid human = default!; EntityUid human = default!;

View File

@@ -53,10 +53,7 @@ namespace Content.IntegrationTests.Tests.Body
public async Task AirConsistencyTest() public async Task AirConsistencyTest()
{ {
// --- Setup // --- Setup
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
@@ -141,10 +138,7 @@ namespace Content.IntegrationTests.Tests.Body
[Test] [Test]
public async Task NoSuffocationTest() public async Task NoSuffocationTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();

View File

@@ -24,10 +24,7 @@ public sealed class SaveLoadReparentTest
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entities = server.ResolveDependency<IEntityManager>(); var entities = server.ResolveDependency<IEntityManager>();

View File

@@ -49,8 +49,7 @@ namespace Content.IntegrationTests.Tests.Buckle
[Test] [Test]
public async Task BuckleUnbuckleCooldownRangeTest() public async Task BuckleUnbuckleCooldownRangeTest()
{ {
await using var pairTracker = await using var pairTracker = await PoolManager.GetServerClient();
await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -243,10 +242,7 @@ namespace Content.IntegrationTests.Tests.Buckle
[Test] [Test]
public async Task BuckledDyingDropItemsTest() public async Task BuckledDyingDropItemsTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -339,10 +335,7 @@ namespace Content.IntegrationTests.Tests.Buckle
[Test] [Test]
public async Task ForceUnbuckleBuckleTest() public async Task ForceUnbuckleBuckleTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -17,7 +17,7 @@ public sealed class CargoTest
[Test] [Test]
public async Task NoCargoOrderArbitrage() public async Task NoCargoOrderArbitrage()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings() { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -51,7 +51,7 @@ public sealed class CargoTest
[Test] [Test]
public async Task NoCargoBountyArbitageTest() public async Task NoCargoBountyArbitageTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings() { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -92,7 +92,7 @@ public sealed class CargoTest
[Test] [Test]
public async Task NoStaticPriceAndStackPrice() public async Task NoStaticPriceAndStackPrice()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -168,8 +168,7 @@ public sealed class CargoTest
[Test] [Test]
public async Task StackPrice() public async Task StackPrice()
{ {
await using var pairTracker = await PoolManager.GetServerClient();
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true } );
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entManager = server.ResolveDependency<IEntityManager>(); var entManager = server.ResolveDependency<IEntityManager>();

View File

@@ -46,10 +46,7 @@ public sealed class SolutionSystemTests
[Test] [Test]
public async Task TryAddTwoNonReactiveReagent() public async Task TryAddTwoNonReactiveReagent()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -93,10 +90,7 @@ public sealed class SolutionSystemTests
[Test] [Test]
public async Task TryAddTooMuchNonReactiveReagent() public async Task TryAddTooMuchNonReactiveReagent()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -140,10 +134,7 @@ public sealed class SolutionSystemTests
[Test] [Test]
public async Task TryMixAndOverflowTooMuchReagent() public async Task TryMixAndOverflowTooMuchReagent()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
@@ -198,10 +189,7 @@ public sealed class SolutionSystemTests
[Test] [Test]
public async Task TryMixAndOverflowTooBigOverflow() public async Task TryMixAndOverflowTooBigOverflow()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -238,7 +226,7 @@ public sealed class SolutionSystemTests
[Test] [Test]
public async Task TestTemperatureCalculations() public async Task TestTemperatureCalculations()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
const float temp = 100.0f; const float temp = 100.0f;

View File

@@ -27,10 +27,7 @@ namespace Content.IntegrationTests.Tests.Chemistry
[Test] [Test]
public async Task TryAllTest() public async Task TryAllTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -13,7 +13,11 @@ public sealed class EuiManagerTest
// Even though we are using the server EUI here, we actually want to see if the client EUIManager crashes // Even though we are using the server EUI here, we actually want to see if the client EUIManager crashes
for (var i = 0; i < 2; i++) for (var i = 0; i < 2; i++)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Dirty = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
Dirty = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sPlayerManager = server.ResolveDependency<IPlayerManager>(); var sPlayerManager = server.ResolveDependency<IPlayerManager>();

View File

@@ -44,7 +44,7 @@ namespace Content.IntegrationTests.Tests
[TestCase("ClickTestRotatingCornerInvisibleNoRot", 0.25f, 0.25f, DirSouthEastJustShy, 1, ExpectedResult = true)] [TestCase("ClickTestRotatingCornerInvisibleNoRot", 0.25f, 0.25f, DirSouthEastJustShy, 1, ExpectedResult = true)]
public async Task<bool> Test(string prototype, float clickPosX, float clickPosY, double angle, float scale) public async Task<bool> Test(string prototype, float clickPosX, float clickPosY, double angle, float scale)
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
EntityUid entity = default; EntityUid entity = default;

View File

@@ -15,7 +15,7 @@ namespace Content.IntegrationTests.Tests.Commands
[Test] [Test]
public async Task PardonTest() public async Task PardonTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -33,13 +33,9 @@ namespace Content.IntegrationTests.Tests.Commands
[Test] [Test]
public async Task RejuvenateDeadTest() public async Task RejuvenateDeadTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entManager = server.ResolveDependency<IEntityManager>(); var entManager = server.ResolveDependency<IEntityManager>();
var mapManager = server.ResolveDependency<IMapManager>();
var prototypeManager = server.ResolveDependency<IPrototypeManager>(); var prototypeManager = server.ResolveDependency<IPrototypeManager>();
var mobStateSystem = entManager.EntitySysManager.GetEntitySystem<MobStateSystem>(); var mobStateSystem = entManager.EntitySysManager.GetEntitySystem<MobStateSystem>();
var damSystem = entManager.EntitySysManager.GetEntitySystem<DamageableSystem>(); var damSystem = entManager.EntitySysManager.GetEntitySystem<DamageableSystem>();

View File

@@ -16,7 +16,11 @@ namespace Content.IntegrationTests.Tests.Commands
[TestCase(false)] [TestCase(false)]
public async Task RestartRoundAfterStart(bool lobbyEnabled) public async Task RestartRoundAfterStart(bool lobbyEnabled)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings() { Dirty = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Dirty = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var configManager = server.ResolveDependency<IConfigurationManager>(); var configManager = server.ResolveDependency<IConfigurationManager>();

View File

@@ -47,7 +47,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task ConstructionGraphSpawnPrototypeValid() public async Task ConstructionGraphSpawnPrototypeValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
@@ -87,7 +87,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task ConstructionGraphEdgeValid() public async Task ConstructionGraphEdgeValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();

View File

@@ -21,7 +21,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task TestStartNodeValid() public async Task TestStartNodeValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IEntityManager>(); var entMan = server.ResolveDependency<IEntityManager>();
@@ -53,7 +53,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task TestStartIsValid() public async Task TestStartIsValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
@@ -71,7 +71,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task TestTargetIsValid() public async Task TestTargetIsValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
@@ -89,7 +89,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task DeconstructionIsValid() public async Task DeconstructionIsValid()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IEntityManager>(); var entMan = server.ResolveDependency<IEntityManager>();
@@ -120,7 +120,7 @@ namespace Content.IntegrationTests.Tests.Construction
[Test] [Test]
public async Task TestStartReachesValidTarget() public async Task TestStartReachesValidTarget()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();

View File

@@ -34,7 +34,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestA() public async Task TestA()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var s = pairTracker.Pair.Server; var s = pairTracker.Pair.Server;
var c = pairTracker.Pair.Client; var c = pairTracker.Pair.Client;
@@ -74,7 +74,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestB() public async Task TestB()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var s = pairTracker.Pair.Server; var s = pairTracker.Pair.Server;
var c = pairTracker.Pair.Client; var c = pairTracker.Pair.Client;
@@ -114,7 +114,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestAb() public async Task TestAb()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var s = pairTracker.Pair.Server; var s = pairTracker.Pair.Server;
var c = pairTracker.Pair.Client; var c = pairTracker.Pair.Client;

View File

@@ -73,10 +73,7 @@ namespace Content.IntegrationTests.Tests.Damageable
[Test] [Test]
public async Task TestDamageableComponents() public async Task TestDamageableComponents()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntityManager = server.ResolveDependency<IEntityManager>(); var sEntityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -14,7 +14,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
var entMgr = server.ResolveDependency<IEntityManager>(); var entMgr = server.ResolveDependency<IEntityManager>();

View File

@@ -18,10 +18,7 @@ namespace Content.IntegrationTests.Tests.Destructible
[Test] [Test]
public async Task AndTest() public async Task AndTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -15,10 +15,7 @@ namespace Content.IntegrationTests.Tests.Destructible
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -14,10 +14,7 @@ namespace Content.IntegrationTests.Tests.Destructible
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -20,10 +20,7 @@ namespace Content.IntegrationTests.Tests.Destructible
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntityManager = server.ResolveDependency<IEntityManager>(); var sEntityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -51,10 +51,7 @@ namespace Content.IntegrationTests.Tests.DeviceNetwork
[Test] [Test]
public async Task NetworkDeviceSendAndReceive() public async Task NetworkDeviceSendAndReceive()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
@@ -114,10 +111,7 @@ namespace Content.IntegrationTests.Tests.DeviceNetwork
[Test] [Test]
public async Task WirelessNetworkDeviceSendAndReceive() public async Task WirelessNetworkDeviceSendAndReceive()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
var coordinates = testMap.GridCoords; var coordinates = testMap.GridCoords;
@@ -202,10 +196,7 @@ namespace Content.IntegrationTests.Tests.DeviceNetwork
[Test] [Test]
public async Task WiredNetworkDeviceSendAndReceive() public async Task WiredNetworkDeviceSendAndReceive()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
var coordinates = testMap.GridCoords; var coordinates = testMap.GridCoords;

View File

@@ -147,10 +147,7 @@ namespace Content.IntegrationTests.Tests.Disposal
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -32,7 +32,7 @@ namespace Content.IntegrationTests.Tests.DoAfter
[Test] [Test]
public async Task TestSerializable() public async Task TestSerializable()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
var refMan = server.ResolveDependency<IReflectionManager>(); var refMan = server.ResolveDependency<IReflectionManager>();
@@ -59,10 +59,7 @@ namespace Content.IntegrationTests.Tests.DoAfter
[Test] [Test]
public async Task TestFinished() public async Task TestFinished()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
@@ -92,10 +89,7 @@ namespace Content.IntegrationTests.Tests.DoAfter
[Test] [Test]
public async Task TestCancelled() public async Task TestCancelled()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
var timing = server.ResolveDependency<IGameTiming>(); var timing = server.ResolveDependency<IGameTiming>();

View File

@@ -53,10 +53,7 @@ namespace Content.IntegrationTests.Tests.Doors
[Test] [Test]
public async Task OpenCloseDestroyTest() public async Task OpenCloseDestroyTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -115,10 +112,7 @@ namespace Content.IntegrationTests.Tests.Doors
[Test] [Test]
public async Task AirlockBlockTest() public async Task AirlockBlockTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -12,7 +12,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
var prototypeManager = client.ResolveDependency<IPrototypeManager>(); var prototypeManager = client.ResolveDependency<IPrototypeManager>();
var resourceCache = client.ResolveDependency<IResourceCache>(); var resourceCache = client.ResolveDependency<IResourceCache>();

View File

@@ -21,7 +21,7 @@ namespace Content.IntegrationTests.Tests
{ {
// This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round // This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round
// is minimal relative to the rest of the test. // is minimal relative to the rest of the test.
var settings = new PoolSettings {NoClient = true, Dirty = true}; var settings = new PoolSettings { Dirty = true };
await using var pairTracker = await PoolManager.GetServerClient(settings); await using var pairTracker = await PoolManager.GetServerClient(settings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
@@ -77,7 +77,7 @@ namespace Content.IntegrationTests.Tests
{ {
// This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round // This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round
// is minimal relative to the rest of the test. // is minimal relative to the rest of the test.
var settings = new PoolSettings {NoClient = true, Dirty = true}; var settings = new PoolSettings { Dirty = true };
await using var pairTracker = await PoolManager.GetServerClient(settings); await using var pairTracker = await PoolManager.GetServerClient(settings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var map = await PoolManager.CreateTestMap(pairTracker); var map = await PoolManager.CreateTestMap(pairTracker);
@@ -133,7 +133,7 @@ namespace Content.IntegrationTests.Tests
{ {
// This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round // This test dirties the pair as it simply deletes ALL entities when done. Overhead of restarting the round
// is minimal relative to the rest of the test. // is minimal relative to the rest of the test.
var settings = new PoolSettings {NoClient = false, Dirty = true}; var settings = new PoolSettings { Connected = true, Dirty = true };
await using var pairTracker = await PoolManager.GetServerClient(settings); await using var pairTracker = await PoolManager.GetServerClient(settings);
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
@@ -223,7 +223,7 @@ namespace Content.IntegrationTests.Tests
"BiomeSelection", // Whaddya know, requires config. "BiomeSelection", // Whaddya know, requires config.
}; };
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
@@ -320,7 +320,7 @@ namespace Content.IntegrationTests.Tests
"BiomeSelection", // Whaddya know, requires config. "BiomeSelection", // Whaddya know, requires config.
}; };
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();

View File

@@ -30,7 +30,7 @@ public sealed class FluidSpill
[Test] [Test]
public async Task SpillCorner() public async Task SpillCorner()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -16,7 +16,7 @@ namespace Content.IntegrationTests.Tests.Fluids
[Test] [Test]
public async Task TilePuddleTest() public async Task TilePuddleTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
@@ -42,7 +42,7 @@ namespace Content.IntegrationTests.Tests.Fluids
[Test] [Test]
public async Task SpaceNoPuddleTest() public async Task SpaceNoPuddleTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -14,7 +14,7 @@ public sealed class FollowerSystemTest
[Test] [Test]
public async Task FollowerMapDeleteTest() public async Task FollowerMapDeleteTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new() { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IEntityManager>(); var entMan = server.ResolveDependency<IEntityManager>();

View File

@@ -37,10 +37,7 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.ActionBlocking
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
EntityUid human; EntityUid human;

View File

@@ -16,7 +16,11 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Mobs
[Test] [Test]
public async Task AlertsTest() public async Task AlertsTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
DummyTicker = false
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -13,11 +13,7 @@ public sealed class SecretStartsTest
[Test] [Test]
public async Task TestSecretStarts() public async Task TestSecretStarts()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings() await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Dirty = true });
{
NoClient = true,
Dirty = true,
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -15,10 +15,10 @@ public sealed class StartEndGameRulesTest
[Test] [Test]
public async Task TestAllConcurrent() public async Task TestAllConcurrent()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings() await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{ {
NoClient = true,
Dirty = true, Dirty = true,
DummyTicker = false
}); });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -33,10 +33,7 @@ namespace Content.IntegrationTests.Tests.Gravity
[Test] [Test]
public async Task WeightlessStatusTest() public async Task WeightlessStatusTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -30,10 +30,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -15,7 +15,7 @@ public sealed class GuideEntryPrototypeTests
[Test] [Test]
public async Task ValidatePrototypeContents() public async Task ValidatePrototypeContents()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
await client.WaitIdleAsync(); await client.WaitIdleAsync();
var protoMan = client.ResolveDependency<IPrototypeManager>(); var protoMan = client.ResolveDependency<IPrototypeManager>();

View File

@@ -13,7 +13,11 @@ public sealed class HandTests
[Test] [Test]
public async Task TestPickupDrop() public async Task TestPickupDrop()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
DummyTicker = false
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IEntityManager>(); var entMan = server.ResolveDependency<IEntityManager>();

View File

@@ -55,7 +55,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);
var coordinates = testMap.GridCoords; var coordinates = testMap.GridCoords;

View File

@@ -39,10 +39,7 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
[Test] [Test]
public async Task InteractionTest() public async Task InteractionTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
@@ -112,10 +109,7 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
[Test] [Test]
public async Task InteractionObstructionTest() public async Task InteractionObstructionTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
@@ -186,7 +180,7 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
[Test] [Test]
public async Task InteractionInRangeTest() public async Task InteractionInRangeTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
@@ -256,7 +250,7 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
[Test] [Test]
public async Task InteractionOutOfRangeTest() public async Task InteractionOutOfRangeTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
@@ -325,7 +319,7 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
[Test] [Test]
public async Task InsideContainerInteractionBlockTest() public async Task InsideContainerInteractionBlockTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();

View File

@@ -26,7 +26,7 @@ namespace Content.IntegrationTests.Tests.Interaction
[Test] [Test]
public async Task EntityEntityTest() public async Task EntityEntityTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();

View File

@@ -140,7 +140,7 @@ public abstract partial class InteractionTest
[SetUp] [SetUp]
public virtual async Task Setup() public virtual async Task Setup()
{ {
PairTracker = await PoolManager.GetServerClient(); PairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
// server dependencies // server dependencies
SEntMan = Server.ResolveDependency<IEntityManager>(); SEntMan = Server.ResolveDependency<IEntityManager>();

View File

@@ -41,7 +41,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task SpawnItemInSlotTest() public async Task SpawnItemInSlotTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();
@@ -87,7 +87,9 @@ namespace Content.IntegrationTests.Tests
ID: "InventoryIDCardDummy" ID: "InventoryIDCardDummy"
}); });
#pragma warning restore NUnit2045 #pragma warning restore NUnit2045
sEntities.DeleteEntity(human);
}); });
await pairTracker.CleanReturnAsync(); await pairTracker.CleanReturnAsync();
} }
} }

View File

@@ -10,7 +10,11 @@ public sealed class ServerReloginTest
[Test] [Test]
public async Task Relogin() public async Task Relogin()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
DummyTicker = false
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
var originalMaxPlayers = 0; var originalMaxPlayers = 0;

View File

@@ -12,7 +12,7 @@ public sealed class LogErrorTest
[Test] [Test]
public async Task TestLogErrorCausesTestFailure() public async Task TestLogErrorCausesTestFailure()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -31,7 +31,7 @@ public sealed class MachineBoardTest
[Test] [Test]
public async Task TestMachineBoardHasValidMachine() public async Task TestMachineBoardHasValidMachine()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
@@ -70,7 +70,7 @@ public sealed class MachineBoardTest
[Test] [Test]
public async Task TestComputerBoardHasValidComputer() public async Task TestComputerBoardHasValidComputer()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();

View File

@@ -30,7 +30,7 @@ public sealed class MaterialArbitrageTest
[Test] [Test]
public async Task NoMaterialArbitrage() public async Task NoMaterialArbitrage()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -20,7 +20,7 @@ namespace Content.IntegrationTests.Tests.Materials
[Test] [Test]
public async Task MaterialPrototypeSpawnsStackMaterial() public async Task MaterialPrototypeSpawnsStackMaterial()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -30,7 +30,11 @@ public sealed class GhostRoleTests
[Test] [Test]
public async Task TakeRoleAndReturn() public async Task TakeRoleAndReturn()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Connected = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -25,7 +25,11 @@ public sealed partial class MindTests
/// </remarks> /// </remarks>
private static async Task<PairTracker> SetupPair() private static async Task<PairTracker> SetupPair()
{ {
var pairTracker = await PoolManager.GetServerClient(); var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Connected = true
});
var pair = pairTracker.Pair; var pair = pairTracker.Pair;
var entMan = pair.Server.ResolveDependency<IServerEntityManager>(); var entMan = pair.Server.ResolveDependency<IServerEntityManager>();

View File

@@ -53,7 +53,7 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestCreateAndTransferMindToNewEntity() public async Task TestCreateAndTransferMindToNewEntity()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -79,7 +79,7 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestReplaceMind() public async Task TestReplaceMind()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -110,7 +110,7 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestEntityDeadWhenGibbed() public async Task TestEntityDeadWhenGibbed()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -164,7 +164,7 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestMindTransfersToOtherEntity() public async Task TestMindTransfersToOtherEntity()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -198,7 +198,11 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestOwningPlayerCanBeChanged() public async Task TestOwningPlayerCanBeChanged()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
DummyTicker = false
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -251,7 +255,7 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestAddRemoveHasRoles() public async Task TestAddRemoveHasRoles()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -320,7 +324,7 @@ public sealed partial class MindTests
public async Task TestPlayerCanGhost() public async Task TestPlayerCanGhost()
{ {
// Client is needed to spawn session // Client is needed to spawn session
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
@@ -396,16 +400,17 @@ public sealed partial class MindTests
[Test] [Test]
public async Task TestGhostDoesNotInfiniteLoop() public async Task TestGhostDoesNotInfiniteLoop()
{ {
// Client is needed to spawn session await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
await using var pairTracker = await PoolManager.GetServerClient(); {
DummyTicker = false,
Connected = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entMan = server.ResolveDependency<IServerEntityManager>(); var entMan = server.ResolveDependency<IServerEntityManager>();
var playerMan = server.ResolveDependency<IPlayerManager>(); var playerMan = server.ResolveDependency<IPlayerManager>();
var serverConsole = server.ResolveDependency<IServerConsoleHost>(); var serverConsole = server.ResolveDependency<IServerConsoleHost>();
var mindSystem = entMan.EntitySysManager.GetEntitySystem<MindSystem>();
//EntityUid entity = default!; //EntityUid entity = default!;
EntityUid mouse = default!; EntityUid mouse = default!;
EntityUid ghost = default!; EntityUid ghost = default!;

View File

@@ -12,7 +12,7 @@ public sealed class NPCTest
[Test] [Test]
public async Task CompoundRecursion() public async Task CompoundRecursion()
{ {
var pool = await PoolManager.GetServerClient(new PoolSettings() { NoClient = true }); var pool = await PoolManager.GetServerClient();
var server = pool.Pair.Server; var server = pool.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -1,37 +0,0 @@
using System.Linq;
using Robust.Server.Player;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
namespace Content.IntegrationTests.Tests.Networking
{
[TestFixture]
public sealed class ConnectTest
{
[Test]
public async Task TestConnect()
{
await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client;
// Basic checks to ensure that they're connected and data got replicated.
var playerManager = server.ResolveDependency<IPlayerManager>();
#pragma warning disable NUnit2045 // Interdependent assertions.
Assert.That(playerManager.PlayerCount, Is.EqualTo(1));
Assert.That(playerManager.Sessions.First().Status, Is.EqualTo(SessionStatus.InGame));
#pragma warning restore NUnit2045
var clEntityManager = client.ResolveDependency<IEntityManager>();
var svEntityManager = server.ResolveDependency<IEntityManager>();
var lastSvEntity = svEntityManager.GetEntities().Last();
Assert.That(clEntityManager.GetComponent<TransformComponent>(lastSvEntity).Coordinates,
Is.EqualTo(svEntityManager.GetComponent<TransformComponent>(lastSvEntity).Coordinates));
await pairTracker.CleanReturnAsync();
}
}
}

View File

@@ -8,7 +8,7 @@ namespace Content.IntegrationTests.Tests.Networking
[Test] [Test]
public async Task TestConnect() public async Task TestConnect()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -9,7 +9,7 @@ namespace Content.IntegrationTests.Tests.Networking
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;

View File

@@ -31,7 +31,7 @@ namespace Content.IntegrationTests.Tests.Networking
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new() { DummyTicker = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
@@ -43,6 +43,7 @@ namespace Content.IntegrationTests.Tests.Networking
var cGameStateManager = client.ResolveDependency<IClientGameStateManager>(); var cGameStateManager = client.ResolveDependency<IClientGameStateManager>();
var cfg = client.ResolveDependency<IConfigurationManager>(); var cfg = client.ResolveDependency<IConfigurationManager>();
var log = cfg.GetCVar(CVars.NetLogging); var log = cfg.GetCVar(CVars.NetLogging);
Assert.That(cfg.GetCVar(CVars.NetInterp), Is.True);
EntityUid serverEnt = default; EntityUid serverEnt = default;
PredictionTestComponent serverComponent = default!; PredictionTestComponent serverComponent = default!;

View File

@@ -68,7 +68,7 @@ namespace Content.IntegrationTests.Tests
[Test, TestCaseSource(nameof(Grids))] [Test, TestCaseSource(nameof(Grids))]
public async Task GridsLoadableTest(string mapFile) public async Task GridsLoadableTest(string mapFile)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entManager = server.ResolveDependency<IEntityManager>(); var entManager = server.ResolveDependency<IEntityManager>();
@@ -109,7 +109,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task NoSavedPostMapInitTest() public async Task NoSavedPostMapInitTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var resourceManager = server.ResolveDependency<IResourceManager>(); var resourceManager = server.ResolveDependency<IResourceManager>();
@@ -151,7 +151,7 @@ namespace Content.IntegrationTests.Tests
[Test, TestCaseSource(nameof(GameMaps))] [Test, TestCaseSource(nameof(GameMaps))]
public async Task GameMapsLoadableTest(string mapProto) public async Task GameMapsLoadableTest(string mapProto)
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
@@ -283,7 +283,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task AllMapsTested() public async Task AllMapsTested()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings {NoClient = true}); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();
@@ -302,7 +302,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task NonGameMapsLoadableTest() public async Task NonGameMapsLoadableTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>(); var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();

View File

@@ -162,10 +162,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestSimpleSurplus() public async Task TestSimpleSurplus()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -226,10 +223,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestSimpleDeficit() public async Task TestSimpleDeficit()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -286,10 +280,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestSupplyRamp() public async Task TestSupplyRamp()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -376,10 +367,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestBatteryRamp() public async Task TestBatteryRamp()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -480,7 +468,7 @@ namespace Content.IntegrationTests.Tests.Power
{ {
// checks that batteries and supplies properly ramp down if the load is disconnected/disabled. // checks that batteries and supplies properly ramp down if the load is disconnected/disabled.
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -576,10 +564,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestSimpleBatteryChargeDeficit() public async Task TestSimpleBatteryChargeDeficit()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var gameTiming = server.ResolveDependency<IGameTiming>(); var gameTiming = server.ResolveDependency<IGameTiming>();
@@ -635,10 +620,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestFullBattery() public async Task TestFullBattery()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -715,10 +697,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestFullBatteryEfficiencyPassThrough() public async Task TestFullBatteryEfficiencyPassThrough()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -795,10 +774,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestFullBatteryEfficiencyDemandPassThrough() public async Task TestFullBatteryEfficiencyDemandPassThrough()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -894,7 +870,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestSupplyPrioritized() public async Task TestSupplyPrioritized()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -992,10 +968,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestBatteriesProportional() public async Task TestBatteriesProportional()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -1082,10 +1055,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestBatteryEngineCut() public async Task TestBatteryEngineCut()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -1169,10 +1139,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task TestTerminalNodeGroups() public async Task TestTerminalNodeGroups()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -1237,10 +1204,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task ApcChargingTest() public async Task ApcChargingTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();
@@ -1295,10 +1259,7 @@ namespace Content.IntegrationTests.Tests.Power
[Test] [Test]
public async Task ApcNetTest() public async Task ApcNetTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var entityManager = server.ResolveDependency<IEntityManager>(); var entityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -12,7 +12,7 @@ public sealed class DungeonTests
[Test] [Test]
public async Task TestDungeonRoomPackBounds() public async Task TestDungeonRoomPackBounds()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var protoManager = pairTracker.Pair.Server.ResolveDependency<IPrototypeManager>(); var protoManager = pairTracker.Pair.Server.ResolveDependency<IPrototypeManager>();
await pairTracker.Pair.Server.WaitAssertion(() => await pairTracker.Pair.Server.WaitAssertion(() =>
@@ -62,7 +62,7 @@ public sealed class DungeonTests
[Test] [Test]
public async Task TestDungeonPresets() public async Task TestDungeonPresets()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var protoManager = pairTracker.Pair.Server.ResolveDependency<IPrototypeManager>(); var protoManager = pairTracker.Pair.Server.ResolveDependency<IPrototypeManager>();
await pairTracker.Pair.Server.WaitAssertion(() => await pairTracker.Pair.Server.WaitAssertion(() =>

View File

@@ -41,7 +41,7 @@ public sealed class PrototypeSaveTest
public async Task UninitializedSaveTest() public async Task UninitializedSaveTest()
{ {
// Apparently SpawnTest fails to clean up properly. Due to the similarities, I'll assume this also fails. // Apparently SpawnTest fails to clean up properly. Due to the similarities, I'll assume this also fails.
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();

View File

@@ -12,7 +12,7 @@ public sealed class ResearchTest
[Test] [Test]
public async Task DisciplineValidTierPrerequesitesTest() public async Task DisciplineValidTierPrerequesitesTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();
@@ -48,7 +48,7 @@ public sealed class ResearchTest
[Test] [Test]
public async Task AllTechPrintableTest() public async Task AllTechPrintableTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();

View File

@@ -30,7 +30,11 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task ResettingEntitySystemResetTest() public async Task ResettingEntitySystemResetTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Connected = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entitySystemManager = server.ResolveDependency<IEntitySystemManager>(); var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();

View File

@@ -10,7 +10,11 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Connected = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sysManager = server.ResolveDependency<IEntitySystemManager>(); var sysManager = server.ResolveDependency<IEntitySystemManager>();

View File

@@ -13,7 +13,11 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{
DummyTicker = false,
Connected = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;

View File

@@ -18,7 +18,7 @@ namespace Content.IntegrationTests.Tests
{ {
const string mapPath = @"/Maps/Test/TestMap.yml"; const string mapPath = @"/Maps/Test/TestMap.yml";
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
var sEntities = server.ResolveDependency<IEntityManager>(); var sEntities = server.ResolveDependency<IEntityManager>();

View File

@@ -21,7 +21,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task SaveLoadSave() public async Task SaveLoadSave()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var entManager = server.ResolveDependency<IEntityManager>(); var entManager = server.ResolveDependency<IEntityManager>();
var mapLoader = entManager.System<MapLoaderSystem>(); var mapLoader = entManager.System<MapLoaderSystem>();
@@ -97,7 +97,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task LoadSaveTicksSaveBagel() public async Task LoadSaveTicksSaveBagel()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>(); var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
var mapManager = server.ResolveDependency<IMapManager>(); var mapManager = server.ResolveDependency<IMapManager>();
@@ -179,7 +179,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task LoadTickLoadBagel() public async Task LoadTickLoadBagel()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>(); var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();

View File

@@ -17,7 +17,7 @@ public sealed class SerializationTest
[Test] [Test]
public async Task SerializeGenericEnums() public async Task SerializeGenericEnums()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var seriMan = server.ResolveDependency<ISerializationManager>(); var seriMan = server.ResolveDependency<ISerializationManager>();
var refMan = server.ResolveDependency<IReflectionManager>(); var refMan = server.ResolveDependency<IReflectionManager>();

View File

@@ -21,7 +21,7 @@ public sealed class DockTest : ContentUnitTest
[TestCaseSource(nameof(TestSource))] [TestCaseSource(nameof(TestSource))]
public async Task TestDockingConfig(Vector2 dock1Pos, Vector2 dock2Pos, Angle dock1Angle, Angle dock2Angle, bool result) public async Task TestDockingConfig(Vector2 dock1Pos, Vector2 dock2Pos, Angle dock1Angle, Angle dock2Angle, bool result)
{ {
await using var pair = await PoolManager.GetServerClient(new PoolSettings() { NoClient = true }); await using var pair = await PoolManager.GetServerClient();
var server = pair.Pair.Server; var server = pair.Pair.Server;
var map = await PoolManager.CreateTestMap(pair); var map = await PoolManager.CreateTestMap(pair);

View File

@@ -15,7 +15,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -11,7 +11,7 @@ public sealed class StackTest
[Test] [Test]
public async Task StackCorrectItemSize() public async Task StackCorrectItemSize()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();

View File

@@ -11,7 +11,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestClientStart() public async Task TestClientStart()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Disconnected = true }); await using var pairTracker = await PoolManager.GetServerClient();
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
Assert.That(client.IsAlive); Assert.That(client.IsAlive);
await client.WaitRunTicks(5); await client.WaitRunTicks(5);

View File

@@ -74,10 +74,7 @@ public sealed class StationJobsTest
[Test] [Test]
public async Task AssignJobsTest() public async Task AssignJobsTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var prototypeManager = server.ResolveDependency<IPrototypeManager>(); var prototypeManager = server.ResolveDependency<IPrototypeManager>();
@@ -151,10 +148,7 @@ public sealed class StationJobsTest
[Test] [Test]
public async Task AdjustJobsTest() public async Task AdjustJobsTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var prototypeManager = server.ResolveDependency<IPrototypeManager>(); var prototypeManager = server.ResolveDependency<IPrototypeManager>();
@@ -205,10 +199,7 @@ public sealed class StationJobsTest
[Test] [Test]
public async Task InvalidRoundstartJobsTest() public async Task InvalidRoundstartJobsTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var prototypeManager = server.ResolveDependency<IPrototypeManager>(); var prototypeManager = server.ResolveDependency<IPrototypeManager>();

View File

@@ -20,7 +20,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task StorageSizeArbitrageTest() public async Task StorageSizeArbitrageTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();
@@ -42,7 +42,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestStorageFillPrototypes() public async Task TestStorageFillPrototypes()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>(); var protoManager = server.ResolveDependency<IPrototypeManager>();
@@ -70,7 +70,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestSufficientSpaceForFill() public async Task TestSufficientSpaceForFill()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var protoMan = server.ResolveDependency<IPrototypeManager>(); var protoMan = server.ResolveDependency<IPrototypeManager>();

View File

@@ -44,10 +44,7 @@ namespace Content.IntegrationTests.Tests.Tag
[Test] [Test]
public async Task TagComponentTest() public async Task TagComponentTest()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var sEntityManager = server.ResolveDependency<IEntityManager>(); var sEntityManager = server.ResolveDependency<IEntityManager>();

View File

@@ -16,7 +16,7 @@ public abstract class ToolshedTest : IInvocationContext
{ {
protected PairTracker PairTracker = default!; protected PairTracker PairTracker = default!;
protected virtual bool NoClient => true; protected virtual bool Connected => false;
protected virtual bool AssertOnUnexpectedError => true; protected virtual bool AssertOnUnexpectedError => true;
protected RobustIntegrationTest.ServerIntegrationInstance Server = default!; protected RobustIntegrationTest.ServerIntegrationInstance Server = default!;
@@ -32,7 +32,7 @@ public abstract class ToolshedTest : IInvocationContext
await PairTracker.CleanReturnAsync(); await PairTracker.CleanReturnAsync();
await TearDown(); await TearDown();
} }
protected virtual async Task TearDown() protected virtual async Task TearDown()
{ {
Assert.IsEmpty(_expectedErrors); Assert.IsEmpty(_expectedErrors);
@@ -42,10 +42,10 @@ public abstract class ToolshedTest : IInvocationContext
[SetUp] [SetUp]
public virtual async Task Setup() public virtual async Task Setup()
{ {
PairTracker = await PoolManager.GetServerClient(new PoolSettings {NoClient = NoClient}); PairTracker = await PoolManager.GetServerClient(new PoolSettings {Connected = Connected});
Server = PairTracker.Pair.Server; Server = PairTracker.Pair.Server;
if (!NoClient) if (Connected)
{ {
Client = PairTracker.Pair.Client; Client = PairTracker.Pair.Client;
await Client.WaitIdleAsync(); await Client.WaitIdleAsync();

View File

@@ -32,10 +32,7 @@ namespace Content.IntegrationTests.Tests.Utility
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient();
{
NoClient = true
});
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -58,7 +58,7 @@ namespace Content.IntegrationTests.Tests.Utility
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var testMap = await PoolManager.CreateTestMap(pairTracker); var testMap = await PoolManager.CreateTestMap(pairTracker);

View File

@@ -6,7 +6,7 @@ public sealed class SandboxTest
[Test] [Test]
public async Task Test() public async Task Test()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoServer = true, Destructive = true }); await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Destructive = true });
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
await client.CheckSandboxed(typeof(Client.Entry.EntryPoint).Assembly); await client.CheckSandboxed(typeof(Client.Entry.EntryPoint).Assembly);
await pairTracker.CleanReturnAsync(); await pairTracker.CleanReturnAsync();

View File

@@ -105,7 +105,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestAllRestocksAreAvailableToBuy() public async Task TestAllRestocksAreAvailableToBuy()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
@@ -176,7 +176,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestCompleteRestockProcess() public async Task TestCompleteRestockProcess()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
@@ -262,7 +262,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestRestockBreaksOpen() public async Task TestRestockBreaksOpen()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();
@@ -326,7 +326,7 @@ namespace Content.IntegrationTests.Tests
[Test] [Test]
public async Task TestRestockInventoryBounds() public async Task TestRestockInventoryBounds()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
await server.WaitIdleAsync(); await server.WaitIdleAsync();

View File

@@ -28,6 +28,8 @@ namespace Content.MapRenderer.Painters
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings
{ {
DummyTicker = false,
Connected = true,
Fresh = true, Fresh = true,
Map = map Map = map
}); });

View File

@@ -34,8 +34,8 @@ namespace Content.MapRenderer
{ {
Console.WriteLine("Didn't specify any maps to paint! Loading the map list..."); Console.WriteLine("Didn't specify any maps to paint! Loading the map list...");
await using var server = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient();
var mapIds = server.Pair.Server var mapIds = pairTracker.Pair.Server
.ResolveDependency<IPrototypeManager>() .ResolveDependency<IPrototypeManager>()
.EnumeratePrototypes<GameMapPrototype>() .EnumeratePrototypes<GameMapPrototype>()
.Select(map => map.ID) .Select(map => map.ID)
@@ -108,8 +108,8 @@ namespace Content.MapRenderer
Console.WriteLine("Retrieving map ids by map file names..."); Console.WriteLine("Retrieving map ids by map file names...");
Console.Write("Fetching map prototypes... "); Console.Write("Fetching map prototypes... ");
await using var server = await PoolManager.GetServerClient(); await using var pairTracker = await PoolManager.GetServerClient();
var mapPrototypes = server.Pair.Server var mapPrototypes = pairTracker.Pair.Server
.ResolveDependency<IPrototypeManager>() .ResolveDependency<IPrototypeManager>()
.EnumeratePrototypes<GameMapPrototype>() .EnumeratePrototypes<GameMapPrototype>()
.ToArray(); .ToArray();

View File

@@ -14,6 +14,7 @@ using Content.Shared.Preferences;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Robust.Shared.Enums; using Robust.Shared.Enums;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Utility;
namespace Content.Server.Database namespace Content.Server.Database
{ {
@@ -758,6 +759,7 @@ INSERT INTO player_round (players_id, rounds_id) VALUES ({players[player]}, {id}
public async Task AddAdminLogs(List<AdminLog> logs) public async Task AddAdminLogs(List<AdminLog> logs)
{ {
DebugTools.Assert(logs.All(x => x.RoundId > 0), "Adding logs with invalid round ids.");
await using var db = await GetDb(); await using var db = await GetDb();
db.DbContext.AdminLog.AddRange(logs); db.DbContext.AdminLog.AddRange(logs);
await db.DbContext.SaveChangesAsync(); await db.DbContext.SaveChangesAsync();

View File

@@ -2,7 +2,6 @@ using Content.Server.Announcements;
using Content.Server.GameTicking.Events; using Content.Server.GameTicking.Events;
using Content.Server.Ghost; using Content.Server.Ghost;
using Content.Server.Maps; using Content.Server.Maps;
using Content.Server.Mind;
using Content.Server.Players; using Content.Server.Players;
using Content.Shared.GameTicking; using Content.Shared.GameTicking;
using Content.Shared.Preferences; using Content.Shared.Preferences;
@@ -181,6 +180,9 @@ namespace Content.Server.GameTicking
_startingRound = true; _startingRound = true;
if (RoundId == 0)
IncrementRoundNumber();
ReplayStartRound(); ReplayStartRound();
DebugTools.Assert(RunLevel == GameRunLevel.PreRoundLobby); DebugTools.Assert(RunLevel == GameRunLevel.PreRoundLobby);
@@ -500,7 +502,8 @@ namespace Content.Server.GameTicking
RoundLengthMetric.Inc(frameTime); RoundLengthMetric.Inc(frameTime);
} }
if (RunLevel != GameRunLevel.PreRoundLobby || if (_roundStartTime == TimeSpan.Zero ||
RunLevel != GameRunLevel.PreRoundLobby ||
Paused || Paused ||
_roundStartTime - RoundPreloadTime > _gameTiming.CurTime || _roundStartTime - RoundPreloadTime > _gameTiming.CurTime ||
_roundStartCountdownHasNotStartedYetDueToNoPlayers) _roundStartCountdownHasNotStartedYetDueToNoPlayers)

View File

@@ -14,7 +14,6 @@ using Content.Server.Station.Systems;
using Content.Shared.Chat; using Content.Shared.Chat;
using Content.Shared.Damage; using Content.Shared.Damage;
using Content.Shared.GameTicking; using Content.Shared.GameTicking;
using Content.Shared.Ghost;
using Content.Shared.Mobs.Systems; using Content.Shared.Mobs.Systems;
using Content.Shared.Roles; using Content.Shared.Roles;
using Robust.Server; using Robust.Server;
@@ -41,6 +40,7 @@ namespace Content.Server.GameTicking
[Dependency] private readonly MindSystem _mind = default!; [Dependency] private readonly MindSystem _mind = default!;
[Dependency] private readonly MindTrackerSystem _mindTracker = default!; [Dependency] private readonly MindTrackerSystem _mindTracker = default!;
[Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly MobStateSystem _mobState = default!;
[Dependency] private readonly IAdminLogManager _adminLogs = default!;
[ViewVariables] private bool _initialized; [ViewVariables] private bool _initialized;
[ViewVariables] private bool _postInitialized; [ViewVariables] private bool _postInitialized;
@@ -79,7 +79,8 @@ namespace Content.Server.GameTicking
DebugTools.Assert(!_postInitialized); DebugTools.Assert(!_postInitialized);
// We restart the round now that entities are initialized and prototypes have been loaded. // We restart the round now that entities are initialized and prototypes have been loaded.
RestartRound(); if (!DummyTicker)
RestartRound();
_postInitialized = true; _postInitialized = true;
} }
@@ -99,6 +100,8 @@ namespace Content.Server.GameTicking
public override void Update(float frameTime) public override void Update(float frameTime)
{ {
if (DummyTicker)
return;
base.Update(frameTime); base.Update(frameTime);
UpdateRoundFlow(frameTime); UpdateRoundFlow(frameTime);
} }

View File

@@ -50,7 +50,7 @@ namespace Content.YAMLLinter
private static async Task<(Dictionary<string, HashSet<ErrorNode>> YamlErrors, List<string> FieldErrors)> private static async Task<(Dictionary<string, HashSet<ErrorNode>> YamlErrors, List<string> FieldErrors)>
ValidateClient() ValidateClient()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { DummyTicker = true, Disconnected = true }); await using var pairTracker = await PoolManager.GetServerClient();
var client = pairTracker.Pair.Client; var client = pairTracker.Pair.Client;
var result = await ValidateInstance(client); var result = await ValidateInstance(client);
await pairTracker.CleanReturnAsync(); await pairTracker.CleanReturnAsync();
@@ -60,7 +60,7 @@ namespace Content.YAMLLinter
private static async Task<(Dictionary<string, HashSet<ErrorNode>> YamlErrors, List<string> FieldErrors)> private static async Task<(Dictionary<string, HashSet<ErrorNode>> YamlErrors, List<string> FieldErrors)>
ValidateServer() ValidateServer()
{ {
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { DummyTicker = true, NoClient = true }); await using var pairTracker = await PoolManager.GetServerClient();
var server = pairTracker.Pair.Server; var server = pairTracker.Pair.Server;
var result = await ValidateInstance(server); var result = await ValidateInstance(server);
await pairTracker.CleanReturnAsync(); await pairTracker.CleanReturnAsync();