Fixing test issue when Linux always returns / for PathGetPathRoot (when its rooted)

http://typedescriptor.net/browse/members/1247454-Mono.Unix.UnixPath.GetPathRoot%28String%29
pull/3113/head
Mark McDowall 11 years ago
parent 3559d35d92
commit 6b30d831b3

@ -294,25 +294,25 @@ namespace NzbDrone.Common
{
Ensure.That(() => path).IsValidPath();
var root = GetPathRoot(path);
if (!FolderExists(root))
throw new DirectoryNotFoundException(root);
if (OsInfo.IsLinux)
{
var driveInfo = DriveInfo.GetDrives().SingleOrDefault(c => c.IsReady && c.Name.Equals(root, StringComparison.CurrentCultureIgnoreCase));
var driveInfo = DriveInfo.GetDrives().SingleOrDefault(c => c.IsReady && path.StartsWith(c.Name, StringComparison.CurrentCultureIgnoreCase));
if (driveInfo == null)
{
return 0;
throw new DirectoryNotFoundException(path);
}
return driveInfo.AvailableFreeSpace;
return driveInfo.AvailableFreeSpace;
}
var root = GetPathRoot(path);
if (!FolderExists(root))
throw new DirectoryNotFoundException(root);
return DriveFreeSpaceEx(root);
}
}
private static long DriveFreeSpaceEx(string folderName)
{

@ -8,7 +8,7 @@ using NzbDrone.Test.Common;
namespace NzbDrone.Core.Test.ProviderTests.DiskProviderTests
{
[TestFixture]
public class FreeDiskSpaceTest : CoreTest<DiskProvider>
public class FreeDiskSpaceFixture : CoreTest<DiskProvider>
{
[Test]
public void should_return_free_disk_space()
Loading…
Cancel
Save