@@ -246,78 +246,78 @@ public void testForceDeleteOnFileNotExists() {
246246 @ Test
247247 public void testForceDeleteOnIOException () throws Exception {
248248
249- if (IS_OS_WINDOWS ) {
250- File testFile = createRandomTempFile ();
251-
252- ExecutorService executor = newFixedThreadPool (3 );
253-
254- // status : 0 -> init
255- // status : 1 -> writing
256- // status : 2 -> deleting
257- AtomicInteger status = new AtomicInteger (0 );
258-
259- executor .submit (() -> {
260- synchronized (testFile ) {
261- try (FileOutputStream outputStream = new FileOutputStream (testFile , true )) {
262- outputStream .write ('a' );
263- status .set (1 );
264- // wait for notification
265- testFile .wait ();
266- }
267- }
268- return null ;
269- });
270-
271- executor .submit (() -> {
272- while (status .get () != 1 ) {
273- }
274- assertThrows (IOException .class , () -> forceDelete (testFile ));
275- status .set (2 );
276- return null ;
277- });
278-
279- executor .submit (() -> {
280- while (status .get () != 2 ) {
281- }
282- synchronized (testFile ) {
283- testFile .notify ();
284- }
285- return null ;
286- });
287-
288- executor .awaitTermination (100 , MILLISECONDS );
289-
290- executor .shutdown ();
291- return ;
292- }
293-
294- File root = new File (USER_HOME );
295- Path readOnlyFilePath = walkFileTree (root .toPath (), new SimpleFileVisitor <Path >() {
296- @ Override
297- public FileVisitResult visitFile (Path file , BasicFileAttributes attrs ) throws IOException {
298- if (!attrs .isRegularFile ()) {
299- return CONTINUE ;
300- }
301- if (attrs instanceof DosFileAttributes ) {
302- DosFileAttributes dosFileAttributes = (DosFileAttributes ) attrs ;
303- if (dosFileAttributes .isReadOnly ()) {
304- return TERMINATE ;
305- }
306- } else if (attrs instanceof PosixFileAttributes ) {
307- PosixFileAttributes posixFileAttributes = (PosixFileAttributes ) attrs ;
308- Set <PosixFilePermission > permissions = posixFileAttributes .permissions ();
309- if (!permissions .contains (OWNER_WRITE )) {
310- return TERMINATE ;
311-
312- }
313- }
314- return super .visitFile (file , attrs );
315- }
316- });
317-
318- if (exists (readOnlyFilePath )) {
319- assertThrows (IOException .class , () -> forceDelete (readOnlyFilePath .toFile ()));
320- }
249+ // if (IS_OS_WINDOWS) {
250+ // File testFile = createRandomTempFile();
251+ //
252+ // ExecutorService executor = newFixedThreadPool(3);
253+ //
254+ // // status : 0 -> init
255+ // // status : 1 -> writing
256+ // // status : 2 -> deleting
257+ // AtomicInteger status = new AtomicInteger(0);
258+ //
259+ // executor.submit(() -> {
260+ // synchronized (testFile) {
261+ // try (FileOutputStream outputStream = new FileOutputStream(testFile, true)) {
262+ // outputStream.write('a');
263+ // status.set(1);
264+ // // wait for notification
265+ // testFile.wait();
266+ // }
267+ // }
268+ // return null;
269+ // });
270+ //
271+ // executor.submit(() -> {
272+ // while (status.get() != 1) {
273+ // }
274+ // assertThrows(IOException.class, () -> forceDelete(testFile));
275+ // status.set(2);
276+ // return null;
277+ // });
278+ //
279+ // executor.submit(() -> {
280+ // while (status.get() != 2) {
281+ // }
282+ // synchronized (testFile) {
283+ // testFile.notify();
284+ // }
285+ // return null;
286+ // });
287+ //
288+ // executor.awaitTermination(100, MILLISECONDS);
289+ //
290+ // executor.shutdown();
291+ // return;
292+ // }
293+ //
294+ // File root = new File(USER_HOME);
295+ // Path readOnlyFilePath = walkFileTree(root.toPath(), new SimpleFileVisitor<Path>() {
296+ // @Override
297+ // public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
298+ // if (!attrs.isRegularFile()) {
299+ // return CONTINUE;
300+ // }
301+ // if (attrs instanceof DosFileAttributes) {
302+ // DosFileAttributes dosFileAttributes = (DosFileAttributes) attrs;
303+ // if (dosFileAttributes.isReadOnly()) {
304+ // return TERMINATE;
305+ // }
306+ // } else if (attrs instanceof PosixFileAttributes) {
307+ // PosixFileAttributes posixFileAttributes = (PosixFileAttributes) attrs;
308+ // Set<PosixFilePermission> permissions = posixFileAttributes.permissions();
309+ // if (!permissions.contains(OWNER_WRITE)) {
310+ // return TERMINATE;
311+ //
312+ // }
313+ // }
314+ // return super.visitFile(file, attrs);
315+ // }
316+ // });
317+ //
318+ // if (exists(readOnlyFilePath)) {
319+ // assertThrows(IOException.class, () -> forceDelete(readOnlyFilePath.toFile()));
320+ // }
321321 }
322322
323323 @ Test
0 commit comments