mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed testDeleteFail - using chmod on unixes
This commit is contained in:
@@ -181,22 +181,33 @@ public class FileUtilHeavyTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteFail() throws IOException {
|
||||
public void testDeleteFail() throws Exception {
|
||||
File targetDir = IoTestUtil.createTestDir(myTempDirectory, "failed_delete");
|
||||
File file = IoTestUtil.createTestFile(targetDir, "file");
|
||||
// lock file
|
||||
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed")
|
||||
RandomAccessFile rw = new RandomAccessFile(file, "rw");
|
||||
FileLock lock = null;
|
||||
try {
|
||||
lock = rw.getChannel().tryLock();
|
||||
assertFalse(FileUtil.delete(file));
|
||||
|
||||
if (SystemInfo.isWindows) {
|
||||
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed")
|
||||
RandomAccessFile rw = new RandomAccessFile(file, "rw");
|
||||
FileLock lock = null;
|
||||
try {
|
||||
lock = rw.getChannel().tryLock();
|
||||
assertFalse(FileUtil.delete(file));
|
||||
}
|
||||
finally {
|
||||
if (lock != null) {
|
||||
lock.release();
|
||||
}
|
||||
rw.close();
|
||||
}
|
||||
}
|
||||
finally {
|
||||
if (lock != null) {
|
||||
lock.release();
|
||||
else { // on unix use chmod
|
||||
assertEquals(0, new ProcessBuilder("chmod", "a-w", file.getParentFile().getPath()).start().waitFor());
|
||||
try {
|
||||
assertFalse(FileUtil.delete(file));
|
||||
}
|
||||
finally {
|
||||
assertEquals(0, new ProcessBuilder("chmod", "a+w", file.getParentFile().getPath()).start().waitFor());
|
||||
}
|
||||
rw.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user