TShock/TShockLauncher.Tests/ServerInitTests.cs
2022-09-08 16:07:58 +10:00

30 lines
641 B
C#

using NUnit.Framework;
using System;
using System.Diagnostics;
using System.Threading;
namespace TShockLauncher.Tests;
public class ServerInitTests
{
[TestCase]
public void EnsureBoots()
{
var are = new AutoResetEvent(false);
On.Terraria.Main.hook_DedServ cb = (On.Terraria.Main.orig_DedServ orig, Terraria.Main instance) =>
{
are.Set();
Debug.WriteLine("Server init process successful");
};
On.Terraria.Main.DedServ += cb;
new Thread(() => TerrariaApi.Server.Program.Main(new string[] { })).Start();
var hit = are.WaitOne(TimeSpan.FromSeconds(10));
On.Terraria.Main.DedServ -= cb;
Assert.IsTrue(hit);
}
}