mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 11:40:52 +01:00
* Add test pooling and global test setup * WIP test pooling changes * Make asynchronous tests the default again * Finish fixing tests, make test threads background threads * Un-pool tests with custom cvars * Fix not changing FailureLogLevel cvar on instance return * Fix error when overriding already overriden cvar * Don't pool some physics integration tests * Unpool engine tests, the technology just isn't there yet * Remove explicit Pool = false from physics tests * Change default pooling setting to false * Didn't need this anyway * Remove ConfigurationManager.ResetOverrides * Bring back enum cvar override parsing * Make integrationInstances name clearer > notPooledInstaces Make clients ready and servers ready internal * Add logging test instances * Give more info on ran tests * Show total clients and servers in test output * Wipe LayerMap on SpriteComponent.AfterDeserialize * Fix server not properly kicking clients * Rider shut * Make all test metrics report totals * Format tests ran better * Replace Console.WriteLine with TestContext.Out.WriteLine * Fix two server test pooling info prints using total clients instead of total servers Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using System.Collections.Concurrent;
|
|
using NUnit.Framework;
|
|
using static Robust.UnitTesting.RobustIntegrationTest;
|
|
|
|
[SetUpFixture]
|
|
// ReSharper disable once CheckNamespace
|
|
public class RobustIntegrationTestSetup
|
|
{
|
|
public void Shutdown()
|
|
{
|
|
foreach (var client in ClientsReady)
|
|
{
|
|
client.Dispose();
|
|
}
|
|
|
|
ClientsReady.Clear();
|
|
|
|
foreach (var server in ServersReady)
|
|
{
|
|
server.Dispose();
|
|
}
|
|
|
|
ServersReady.Clear();
|
|
}
|
|
|
|
public void PrintTestPoolingInfo()
|
|
{
|
|
string QueueToString(ConcurrentQueue<string> queue, int total)
|
|
{
|
|
return $"({queue.Count}/{total}):\n{string.Join("\n", queue)}\n\n";
|
|
}
|
|
|
|
var totalClients = ClientsPooled.Count + ClientsNotPooled.Count;
|
|
TestContext.Out.WriteLine($"Clients created {QueueToString(ClientsCreated, totalClients)}");
|
|
TestContext.Out.WriteLine($"Clients pooled {QueueToString(ClientsPooled, totalClients)}");
|
|
TestContext.Out.WriteLine($"Clients not pooled {QueueToString(ClientsNotPooled, totalClients)}");
|
|
|
|
var totalServers = ServersPooled.Count + ServersNotPooled.Count;
|
|
TestContext.Out.WriteLine($"Servers created {QueueToString(ServersCreated, totalServers)}");
|
|
TestContext.Out.WriteLine($"Servers pooled {QueueToString(ServersPooled, totalServers)}");
|
|
TestContext.Out.WriteLine($"Servers not pooled {QueueToString(ServersNotPooled, totalServers)}");
|
|
}
|
|
|
|
[OneTimeTearDown]
|
|
public void TearDown()
|
|
{
|
|
Shutdown();
|
|
PrintTestPoolingInfo();
|
|
}
|
|
}
|
|
|