added folder logging to isproduction test. better process name detection in mono.

This commit is contained in:
kay.one 2013-09-14 17:17:45 -07:00
parent 873134fcee
commit 661ba97215
2 changed files with 14 additions and 3 deletions

View File

@ -29,7 +29,7 @@ namespace NzbDrone.Common.Test
[Test]
public void IsProduction_should_return_false_when_run_within_nunit()
{
RuntimeInfo.IsProduction.Should().BeFalse("Process name is " + Process.GetCurrentProcess().ProcessName);
RuntimeInfo.IsProduction.Should().BeFalse("Process name is " + Process.GetCurrentProcess().ProcessName + " Folder is " + Directory.GetCurrentDirectory());
}
[Test]

View File

@ -27,7 +27,7 @@ namespace NzbDrone.Common
public class ProcessProvider : IProcessProvider
{
private static readonly Logger Logger = NzbDroneLogger.GetLogger();
private static readonly Logger Logger = NzbDroneLogger.GetLogger();
public const string NZB_DRONE_PROCESS_NAME = "NzbDrone";
public const string NZB_DRONE_CONSOLE_PROCESS_NAME = "NzbDrone.Console";
@ -213,7 +213,7 @@ namespace NzbDrone.Common
return new ProcessInfo
{
Id = process.Id,
StartPath = process.MainModule.FileName,
StartPath = GetExeFileName(process),
Name = process.ProcessName
};
}
@ -225,6 +225,17 @@ namespace NzbDrone.Common
return null;
}
private static string GetExeFileName(Process process)
{
if (process.MainModule.FileName != "mono.exe")
{
return process.MainModule.FileName;
}
return process.Modules.Cast<ProcessModule>().FirstOrDefault(module => module.ModuleName.ToLower().EndsWith(".exe")).FileName;
}
private void Kill(int processId)
{
var process = Process.GetProcesses().FirstOrDefault(p => p.Id == processId);