more linux fixes

pull/3113/head
kay.one 11 years ago
parent c2b4eadc47
commit 67661c6893

@ -1,4 +1,5 @@
using System.IO;
using System.Diagnostics;
using System.IO;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Common.EnvironmentInfo;
@ -30,7 +31,7 @@ namespace NzbDrone.Common.Test
[Test]
public void IsProduction_should_return_false_when_run_within_nunit()
{
RuntimeInfo.IsProduction.Should().BeFalse();
RuntimeInfo.IsProduction.Should().BeFalse("Process name is " + Process.GetCurrentProcess().ProcessName);
}
}
}

@ -101,7 +101,7 @@ namespace NzbDrone.Common
Ensure.That(() => path).IsValidPath();
return Directory.Exists(path);
}
public virtual bool FolderExists(string path, bool caseSensitive)
{
if (caseSensitive)
@ -394,16 +394,28 @@ namespace NzbDrone.Common
public void SetPermissions(string filename, string account, FileSystemRights rights, AccessControlType controlType)
{
var directoryInfo = new DirectoryInfo(filename);
var directorySecurity = directoryInfo.GetAccessControl();
var accessRule = new FileSystemAccessRule(account, rights,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None, controlType);
try
{
var directoryInfo = new DirectoryInfo(filename);
var directorySecurity = directoryInfo.GetAccessControl();
var accessRule = new FileSystemAccessRule(account, rights,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None, controlType);
directorySecurity.AddAccessRule(accessRule);
directoryInfo.SetAccessControl(directorySecurity);
}
catch (Exception e)
{
Logger.WarnException(string.Format("Couldn't set permission for {0}. account:{1} rights:{2} accessControlType:{3}", filename, account, rights, controlType), e);
throw;
}
directorySecurity.AddAccessRule(accessRule);
directoryInfo.SetAccessControl(directorySecurity);
}
public bool IsParent(string parent, string subfolder)
@ -420,7 +432,7 @@ namespace NzbDrone.Common
{
return true;
}
diSubfolder = diSubfolder.Parent;
}

@ -11,7 +11,8 @@ namespace NzbDrone.Test.Common
{
if (path.Length > 2 && path[1] == ':')
{
path = path.Replace(':', Path.DirectorySeparatorChar);
path = path.Replace(":", "");
path = Path.DirectorySeparatorChar + path;
}
path = path.Replace("\\", Path.DirectorySeparatorChar.ToString());
}

Loading…
Cancel
Save