1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-19 07:52:33 +02:00

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 @@ public class StartupContext : IStartupContext
public const string TERMINATE = "terminateexisting"; public const string TERMINATE = "terminateexisting";
public const string RESTART = "restart"; public const string RESTART = "restart";
public const string REGISTER_URL = "registerurl"; public const string REGISTER_URL = "registerurl";
public const string NO_SINGLE_INSTANCE_CHECK = "nosingleinstancecheck";
public StartupContext(params string[] args) public StartupContext(params string[] args)
{ {

View File

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

View File

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

View File

@ -138,7 +138,7 @@ public void KillAll()
private void Start(string outputRadarrConsoleExe) private void Start(string outputRadarrConsoleExe)
{ {
TestContext.Progress.WriteLine("Starting instance from {0} on port {1}", outputRadarrConsoleExe, Port); 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); _nzbDroneProcess = _processProvider.Start(outputRadarrConsoleExe, args, null, OnOutputDataReceived, OnOutputDataReceived);
} }