You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
using System;
|
|
using Mono.Unix;
|
|
using NUnit.Framework;
|
|
using NzbDrone.Common.Test.DiskTests;
|
|
using NzbDrone.Mono.Disk;
|
|
|
|
namespace NzbDrone.Mono.Test.DiskProviderTests
|
|
{
|
|
[TestFixture]
|
|
[Platform("Mono")]
|
|
public class DiskProviderFixture : DiskProviderFixtureBase<DiskProvider>
|
|
{
|
|
public DiskProviderFixture()
|
|
{
|
|
MonoOnly();
|
|
}
|
|
|
|
protected override void SetWritePermissions(string path, bool writable)
|
|
{
|
|
if (Environment.UserName == "root")
|
|
{
|
|
Assert.Inconclusive("Need non-root user to test write permissions.");
|
|
}
|
|
|
|
// Remove Write permissions, we're still owner so we can clean it up, but we'll have to do that explicitly.
|
|
|
|
var entry = UnixFileSystemInfo.GetFileSystemEntry(path);
|
|
|
|
if (writable)
|
|
{
|
|
entry.FileAccessPermissions |= FileAccessPermissions.UserWrite | FileAccessPermissions.GroupWrite | FileAccessPermissions.OtherWrite;
|
|
}
|
|
else
|
|
{
|
|
entry.FileAccessPermissions &= ~(FileAccessPermissions.UserWrite | FileAccessPermissions.GroupWrite | FileAccessPermissions.OtherWrite);
|
|
}
|
|
}
|
|
}
|
|
}
|