using System.Threading.Tasks; using Robust.Shared.Log; using Robust.UnitTesting.Pool; namespace Robust.UnitTesting; public partial class RobustIntegrationTest { /// /// implementation using instances. /// [Virtual] public class TestPair : TestPair { protected override async Task GenerateClient() { var client = new ClientIntegrationInstance(ClientOptions()); await client.WaitIdleAsync(); client.Resolve().GetSawmill("loc").Level = LogLevel.Error; client.CfgMan.OnValueChanged(RTCVars.FailureLogLevel, value => ClientLogHandler.FailureLevel = value, true); await client.WaitIdleAsync(); return client; } protected override async Task GenerateServer() { var server = new ServerIntegrationInstance(ServerOptions()); await server.WaitIdleAsync(); server.Resolve().GetSawmill("loc").Level = LogLevel.Error; server.CfgMan.OnValueChanged(RTCVars.FailureLogLevel, value => ServerLogHandler.FailureLevel = value, true); return server; } protected virtual ClientIntegrationOptions ClientOptions() { var options = new ClientIntegrationOptions { ContentAssemblies = Manager.ClientAssemblies, OverrideLogHandler = () => ClientLogHandler }; options.Options = new() { LoadConfigAndUserData = false, LoadContentResources = false, }; foreach (var (cvar, value) in Manager.DefaultCvars) { options.CVarOverrides[cvar] = value; } return options; } protected virtual ServerIntegrationOptions ServerOptions() { var options = new ServerIntegrationOptions { ContentAssemblies = Manager.ServerAssemblies, OverrideLogHandler = () => ServerLogHandler }; options.Options = new() { LoadConfigAndUserData = false, LoadContentResources = false, }; foreach (var (cvar, value) in Manager.DefaultCvars) { options.CVarOverrides[cvar] = value; } return options; } } }