diff --git a/.github/workflows/build-test-debug.yml b/.github/workflows/build-test-debug.yml index 89abcee445..416955a644 100644 --- a/.github/workflows/build-test-debug.yml +++ b/.github/workflows/build-test-debug.yml @@ -51,7 +51,7 @@ jobs: shell: pwsh run: | $env:DOTNET_gcServer=1 - dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 + dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed ci-success: name: Build & Test Debug needs: diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 07ce558fb0..9ff89d47e8 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -51,7 +51,7 @@ jobs: shell: pwsh run: | $env:DOTNET_gcServer=1 - dotnet test --configuration Tools --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 + dotnet test --configuration Tools --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed ci-success: name: Build & Test Release needs: diff --git a/Content.IntegrationTests/PoolManager.cs b/Content.IntegrationTests/PoolManager.cs index c66bc260d3..397a20950d 100644 --- a/Content.IntegrationTests/PoolManager.cs +++ b/Content.IntegrationTests/PoolManager.cs @@ -947,6 +947,10 @@ public sealed class PairTracker : IAsyncDisposable _testOut = testOut; } + // Convenience properties. + public RobustIntegrationTest.ServerIntegrationInstance Server => Pair.Server; + public RobustIntegrationTest.ClientIntegrationInstance Client => Pair.Client; + private async Task OnDirtyDispose() { var usageTime = UsageWatch.Elapsed; @@ -957,6 +961,10 @@ public sealed class PairTracker : IAsyncDisposable PoolManager.NoCheckReturn(Pair); var disposeTime = dirtyWatch.Elapsed; await _testOut.WriteLineAsync($"{nameof(DisposeAsync)}: Disposed pair {Pair.PairId} in {disposeTime.TotalMilliseconds} ms"); + + // Test pairs should only dirty dispose if they are failing. If they are not failing, this probably happened + // because someone forgot to clean-return the pair. + Assert.Warn("Test was dirty-disposed."); } private async Task OnCleanDispose()