[Mono-bugs] [Bug 378229] File.Delete on read-only file should throw System. UnauthorizedAccessException
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Apr 16 03:53:57 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=378229
User albright at wesay.org added comment
https://bugzilla.novell.com/show_bug.cgi?id=378229#c2
--- Comment #2 from Eric Albright <albright at wesay.org> 2008-04-16 01:53:57 MST ---
"Unlike the Read-only attribute for a file, the Read-only attribute for a
folder is typically ignored by Windows, Windows components and accessories, and
other programs. For example, you can delete, rename, and change a folder with
the Read-only attribute by using Windows Explorer."
http://support.microsoft.com/kb/326549/EN-US/
I am able to set the read-only attribute on a directory and then delete a file
in the directory. Deleting a directory which contains a read-only file is not.
[TestFixture]
public class FileAndDirectoryDelete
{
string file;
private string directory;
[SetUp]
public void Setup()
{
directory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
Directory.CreateDirectory(directory);
file = Path.Combine(directory, Path.GetRandomFileName());
using(StreamWriter stream = File.CreateText(this.file))
{
stream.Close();
}
}
[TearDown]
public void TearDown()
{
if (File.Exists(file))
{
File.SetAttributes(file, FileAttributes.Normal);
}
if (Directory.Exists(directory))
{
File.SetAttributes(directory, FileAttributes.Normal);
Directory.Delete(directory, true);
}
}
[Test]
[ExpectedException(typeof(UnauthorizedAccessException))]
public void DirectoryDelete_FileIsReadOnly_Throws()
{
File.SetAttributes(file, FileAttributes.ReadOnly);
Directory.Delete(directory, true);
}
[Test]
public void FileDelete_DirectoryIsReadOnly_FileDeleted()
{
File.SetAttributes(directory, FileAttributes.ReadOnly);
File.Delete(file);
Assert.IsFalse(File.Exists(file));
}
}
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list