2023-04-25 21:30:11 +12:00
|
|
|
using Robust.Shared.Configuration;
|
|
|
|
|
using Robust.Shared.Log;
|
|
|
|
|
using Robust.UnitTesting;
|
|
|
|
|
|
|
|
|
|
namespace Content.IntegrationTests.Tests;
|
|
|
|
|
|
|
|
|
|
public sealed class LogErrorTest
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// This test ensures that error logs cause tests to fail.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Test]
|
|
|
|
|
public async Task TestLogErrorCausesTestFailure()
|
|
|
|
|
{
|
2023-08-06 14:30:28 +12:00
|
|
|
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
|
2023-04-25 21:30:11 +12:00
|
|
|
var server = pairTracker.Pair.Server;
|
|
|
|
|
var client = pairTracker.Pair.Client;
|
|
|
|
|
|
|
|
|
|
var cfg = server.ResolveDependency<IConfigurationManager>();
|
2023-07-05 21:54:25 -07:00
|
|
|
var logmill = server.ResolveDependency<ILogManager>().RootSawmill;
|
2023-04-25 21:30:11 +12:00
|
|
|
|
|
|
|
|
// Default cvar is properly configured
|
|
|
|
|
Assert.That(cfg.GetCVar(RTCVars.FailureLogLevel), Is.EqualTo(LogLevel.Error));
|
|
|
|
|
|
|
|
|
|
// Warnings don't cause tests to fail.
|
2023-07-05 21:54:25 -07:00
|
|
|
await server.WaitPost(() => logmill.Warning("test"));
|
2023-04-25 21:30:11 +12:00
|
|
|
|
|
|
|
|
// But errors do
|
2023-07-05 21:54:25 -07:00
|
|
|
await server.WaitPost(() => Assert.Throws<AssertionException>(() => logmill.Error("test")));
|
|
|
|
|
await client.WaitPost(() => Assert.Throws<AssertionException>(() => logmill.Error("test")));
|
2023-07-31 15:57:52 +12:00
|
|
|
|
|
|
|
|
await pairTracker.CleanReturnAsync();
|
2023-04-25 21:30:11 +12:00
|
|
|
}
|
|
|
|
|
}
|