Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.…
…RuntimeException: Copy was not interrupted

Backport-of: dfeb4132e402c0466740a029c3b1d2d213955822
  • Loading branch information
GoeLin committed Apr 5, 2022
1 parent 1b940f3 commit 708017c
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions test/jdk/java/nio/file/Files/InterruptCopy.java
Expand Up @@ -45,7 +45,6 @@ public class InterruptCopy {

private static final long FILE_SIZE_TO_COPY = 1024L * 1024L * 1024L;
private static final int INTERRUPT_DELAY_IN_MS = 50;
private static final int DURATION_MAX_IN_MS = 3*INTERRUPT_DELAY_IN_MS;
private static final int CANCEL_DELAY_IN_MS = 10;

public static void main(String[] args) throws Exception {
Expand Down Expand Up @@ -109,8 +108,15 @@ public void run() {
long theEnd = System.currentTimeMillis();
System.out.printf("Done copying at %d ms...%n", theEnd);
long duration = theEnd - theBeginning;
if (duration > DURATION_MAX_IN_MS)
throw new RuntimeException("Copy was not interrupted");

// If the copy was interrupted the target file should have been
// deleted, so if the file does not exist, then the copy must
// have been interrupted without throwing an exception; if the
// file exists, then the copy finished before being interrupted
// so not throwing an exception is not considered a failure
if (Files.notExists(target))
throw new RuntimeException("Copy was not interrupted in " +
duration + " ms");
} catch (IOException e) {
boolean interrupted = Thread.interrupted();
if (!interrupted)
Expand Down

1 comment on commit 708017c

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.