Disable single instance check for integration tests

Causes a SIGABRT on mono 6.10 and 6.12 - double free or corruption
This commit is contained in:
ta264 2020-08-17 22:27:05 +01:00
parent d92895381c
commit 5a1b82e195
4 changed files with 7 additions and 3 deletions

View File

@ -24,6 +24,7 @@ namespace NzbDrone.Common.EnvironmentInfo
public const string TERMINATE = "terminateexisting";
public const string RESTART = "restart";
public const string REGISTER_URL = "registerurl";
public const string NO_SINGLE_INSTANCE_CHECK = "nosingleinstancecheck";
public StartupContext(params string[] args)
{

View File

@ -340,8 +340,6 @@ namespace NzbDrone.Common.Processes
//TODO: move this to an OS specific class
var monoProcesses = Process.GetProcessesByName("mono")
.Union(Process.GetProcessesByName("mono-sgen"))
.Union(Process.GetProcessesByName("mono-sgen32"))
.Union(Process.GetProcessesByName("mono-sgen64"))
.Where(process =>
process.Modules.Cast<ProcessModule>()
.Any(module =>

View File

@ -88,6 +88,11 @@ namespace Radarr.Host
private static void EnsureSingleInstance(bool isService, IStartupContext startupContext)
{
if (startupContext.Flags.Contains(StartupContext.NO_SINGLE_INSTANCE_CHECK))
{
return;
}
var instancePolicy = _container.Resolve<ISingleInstancePolicy>();
if (startupContext.Flags.Contains(StartupContext.TERMINATE))

View File

@ -138,7 +138,7 @@ namespace NzbDrone.Test.Common
private void Start(string outputRadarrConsoleExe)
{
TestContext.Progress.WriteLine("Starting instance from {0} on port {1}", outputRadarrConsoleExe, Port);
var args = "-nobrowser -data=\"" + AppData + "\"";
var args = "-nobrowser -nosingleinstancecheck -data=\"" + AppData + "\"";
_nzbDroneProcess = _processProvider.Start(outputRadarrConsoleExe, args, null, OnOutputDataReceived, OnOutputDataReceived);
}