From 110060678f34cc7ca5af722aff7e289a4a110f55 Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Tue, 25 Apr 2023 11:48:29 +1200 Subject: [PATCH] Disable GridFillComponent on some tests (#15757) --- Content.IntegrationTests/Tests/CargoTest.cs | 6 ++++++ Content.IntegrationTests/Tests/EntityTest.cs | 17 +++++++++++++++++ .../Tests/GameRules/StartEndGameRulesTest.cs | 4 ++++ .../Tests/PostMapInitTest.cs | 8 ++++++++ .../Tests/SaveLoadMapTest.cs | 4 ++++ .../Tests/SaveLoadSaveTest.cs | 8 ++++++++ .../Shuttles/Systems/ShuttleSystem.GridFill.cs | 4 ++++ .../Shuttles/Systems/ShuttleSystem.cs | 2 ++ Content.Shared/CCVar/CCVars.cs | 6 ++++++ 9 files changed, 59 insertions(+) diff --git a/Content.IntegrationTests/Tests/CargoTest.cs b/Content.IntegrationTests/Tests/CargoTest.cs index 19cedddb00..06fc46c3ae 100644 --- a/Content.IntegrationTests/Tests/CargoTest.cs +++ b/Content.IntegrationTests/Tests/CargoTest.cs @@ -3,8 +3,10 @@ using System.Linq; using Content.Server.Cargo.Components; using Content.Server.Cargo.Systems; using Content.Shared.Cargo.Prototypes; +using Content.Shared.CCVar; using Content.Shared.Stacks; using NUnit.Framework; +using Robust.Shared.Configuration; using Robust.Shared.GameObjects; using Robust.Shared.Map; using Robust.Shared.Maths; @@ -61,6 +63,8 @@ public sealed class CargoTest var entManager = server.ResolveDependency(); var mapManager = server.ResolveDependency(); var protoManager = server.ResolveDependency(); + var cfg = server.ResolveDependency(); + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, true)); await server.WaitAssertion(() => { @@ -100,6 +104,8 @@ public sealed class CargoTest } mapManager.DeleteMap(mapId); }); + + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, false)); await pairTracker.CleanReturnAsync(); } diff --git a/Content.IntegrationTests/Tests/EntityTest.cs b/Content.IntegrationTests/Tests/EntityTest.cs index 98dd0c9dae..a98a2fa7f4 100644 --- a/Content.IntegrationTests/Tests/EntityTest.cs +++ b/Content.IntegrationTests/Tests/EntityTest.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using Content.Shared.CCVar; using Content.Shared.Coordinates; using NUnit.Framework; +using Robust.Shared.Configuration; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Log; @@ -26,6 +27,8 @@ namespace Content.IntegrationTests.Tests var server = pairTracker.Pair.Server; IEntityManager entityMan = null; + var cfg = server.ResolveDependency(); + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, true)); await server.WaitPost(() => { @@ -59,6 +62,8 @@ namespace Content.IntegrationTests.Tests Assert.That(entityMan.EntityCount, Is.Zero); }); + + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, false)); await pairTracker.CleanReturnAsync(); } @@ -70,6 +75,9 @@ namespace Content.IntegrationTests.Tests var map = await PoolManager.CreateTestMap(pairTracker); IEntityManager entityMan = null; + var cfg = server.ResolveDependency(); + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, true)); + await server.WaitPost(() => { entityMan = IoCManager.Resolve(); @@ -98,6 +106,8 @@ namespace Content.IntegrationTests.Tests Assert.That(entityMan.EntityCount, Is.Zero); }); + + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, false)); await pairTracker.CleanReturnAsync(); } @@ -113,6 +123,9 @@ namespace Content.IntegrationTests.Tests var map = await PoolManager.CreateTestMap(pairTracker); IEntityManager entityMan = null; + var cfg = server.ResolveDependency(); + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, true)); + await server.WaitPost(() => { entityMan = IoCManager.Resolve(); @@ -144,6 +157,8 @@ namespace Content.IntegrationTests.Tests Assert.That(entityMan.EntityCount, Is.Zero); }); + + await server.WaitPost(() => cfg.SetCVar(CCVars.DisableGridFill, false)); await pairTracker.CleanReturnAsync(); } @@ -157,6 +172,7 @@ namespace Content.IntegrationTests.Tests "DebugExceptionExposeData", "DebugExceptionInitialize", "DebugExceptionStartup", + "GridFillComponent", "Map", // We aren't testing a map entity in this test "MapGrid", "StationData", // errors when removed mid-round @@ -252,6 +268,7 @@ namespace Content.IntegrationTests.Tests "DebugExceptionExposeData", "DebugExceptionInitialize", "DebugExceptionStartup", + "GridFillComponent", "Map", // We aren't testing a map entity in this test "MapGrid", "StationData", // errors when deleted mid-round diff --git a/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs b/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs index 90164e4dbe..4621ecbd1e 100644 --- a/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs +++ b/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs @@ -3,7 +3,9 @@ using System.Linq; using System.Threading.Tasks; using Content.Server.GameTicking; using Content.Server.GameTicking.Rules; +using Content.Shared.CCVar; using NUnit.Framework; +using Robust.Shared.Configuration; using Robust.Shared.GameObjects; using Robust.Shared.Prototypes; @@ -28,6 +30,8 @@ public sealed class StartEndGameRulesTest await server.WaitIdleAsync(); var protoMan = server.ResolveDependency(); var gameTicker = server.ResolveDependency().GetEntitySystem(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitAssertion(() => { diff --git a/Content.IntegrationTests/Tests/PostMapInitTest.cs b/Content.IntegrationTests/Tests/PostMapInitTest.cs index a1d9045185..05930eaf84 100644 --- a/Content.IntegrationTests/Tests/PostMapInitTest.cs +++ b/Content.IntegrationTests/Tests/PostMapInitTest.cs @@ -10,10 +10,12 @@ using Content.Server.Shuttles.Components; using Content.Server.Spawners.Components; using Content.Server.Station.Components; using Content.Server.Station.Systems; +using Content.Shared.CCVar; using Content.Shared.Roles; using NUnit.Framework; using Robust.Server.GameObjects; using Robust.Server.Maps; +using Robust.Shared.Configuration; using Robust.Shared.ContentPack; using Robust.Shared.GameObjects; using Robust.Shared.Utility; @@ -55,6 +57,8 @@ namespace Content.IntegrationTests.Tests var mapLoader = server.ResolveDependency().GetEntitySystem(); var mapManager = server.ResolveDependency(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitPost(() => { @@ -183,6 +187,8 @@ namespace Content.IntegrationTests.Tests var ticker = entManager.EntitySysManager.GetEntitySystem(); var shuttleSystem = entManager.EntitySysManager.GetEntitySystem(); var xformQuery = entManager.GetEntityQuery(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitPost(() => { @@ -335,6 +341,8 @@ namespace Content.IntegrationTests.Tests var mapLoader = server.ResolveDependency().GetEntitySystem(); var mapManager = server.ResolveDependency(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitPost(() => { diff --git a/Content.IntegrationTests/Tests/SaveLoadMapTest.cs b/Content.IntegrationTests/Tests/SaveLoadMapTest.cs index 904dd0c1b5..2229c8c966 100644 --- a/Content.IntegrationTests/Tests/SaveLoadMapTest.cs +++ b/Content.IntegrationTests/Tests/SaveLoadMapTest.cs @@ -1,7 +1,9 @@ using System.Threading.Tasks; +using Content.Shared.CCVar; using NUnit.Framework; using Robust.Server.GameObjects; using Robust.Server.Maps; +using Robust.Shared.Configuration; using Robust.Shared.ContentPack; using Robust.Shared.GameObjects; using Robust.Shared.Log; @@ -26,6 +28,8 @@ namespace Content.IntegrationTests.Tests var mapLoader = sEntities.System(); var xformSystem = sEntities.EntitySysManager.GetEntitySystem(); var resManager = server.ResolveDependency(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitAssertion(() => { diff --git a/Content.IntegrationTests/Tests/SaveLoadSaveTest.cs b/Content.IntegrationTests/Tests/SaveLoadSaveTest.cs index a94c25f19f..206b3072fb 100644 --- a/Content.IntegrationTests/Tests/SaveLoadSaveTest.cs +++ b/Content.IntegrationTests/Tests/SaveLoadSaveTest.cs @@ -1,9 +1,11 @@ using System.IO; using System.Linq; using System.Threading.Tasks; +using Content.Shared.CCVar; using NUnit.Framework; using Robust.Server.GameObjects; using Robust.Server.Maps; +using Robust.Shared.Configuration; using Robust.Shared.ContentPack; using Robust.Shared.GameObjects; using Robust.Shared.Log; @@ -25,6 +27,8 @@ namespace Content.IntegrationTests.Tests var server = pairTracker.Pair.Server; var mapLoader = server.ResolveDependency().GetEntitySystem(); var mapManager = server.ResolveDependency(); + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); await server.WaitPost(() => { @@ -92,6 +96,8 @@ namespace Content.IntegrationTests.Tests var mapManager = server.ResolveDependency(); MapId mapId = default; + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); // Load bagel.yml as uninitialized map, and save it to ensure it's up to date. server.Post(() => @@ -171,6 +177,8 @@ namespace Content.IntegrationTests.Tests var mapLoader = server.ResolveDependency().GetEntitySystem(); var mapManager = server.ResolveDependency(); var userData = server.ResolveDependency().UserData; + var cfg = server.ResolveDependency(); + Assert.That(cfg.GetCVar(CCVars.DisableGridFill), Is.False); MapId mapId = default; const string fileA = "/load tick load a.yml"; diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs index ac66d2acb3..e60d3fdf28 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs @@ -1,4 +1,5 @@ using Content.Server.Shuttles.Components; +using Content.Shared.CCVar; namespace Content.Server.Shuttles.Systems; @@ -18,6 +19,9 @@ public sealed partial class ShuttleSystem return; } + if (_cfg.GetCVar(CCVars.DisableGridFill)) + return; + // Spawn on a dummy map and try to dock if possible, otherwise dump it. var mapId = _mapManager.CreateMap(); var valid = false; diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.cs index 577e716a68..1d4b7abbf1 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.cs @@ -5,6 +5,7 @@ using Content.Shared.GameTicking; using Content.Shared.Shuttles.Systems; using JetBrains.Annotations; using Robust.Server.GameObjects; +using Robust.Shared.Configuration; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics; @@ -31,6 +32,7 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem [Dependency] private readonly StunSystem _stuns = default!; [Dependency] private readonly ThrusterSystem _thruster = default!; [Dependency] private readonly UserInterfaceSystem _uiSystem = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; private ISawmill _sawmill = default!; diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 0e07fc4afc..74584c1835 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1084,6 +1084,12 @@ namespace Content.Shared.CCVar /// public static readonly CVarDef CargoShuttles = CVarDef.Create("shuttle.cargo", true, CVar.SERVERONLY); + + /// + /// Whether to automatically spawn escape shuttles. + /// + public static readonly CVarDef DisableGridFill = + CVarDef.Create("shuttle.disable_grid_fill", false, CVar.SERVERONLY); /* * Emergency -- 2.51.2