RFR 8215372: test/jdk/java/nio/file/DirectoryStream/Basic.java not correct for validating the use of a glob

Lance Andersen lance.andersen at oracle.com
Thu Dec 13 20:30:09 UTC 2018


Hi all,

Attached is the patch for https://bugs.openjdk.java.net/browse/JDK-8215372   that addresses the test DirectoyStream/Basic.java  which was not correctly validating newDirectoryStream using a glob:

—————————
$ hg diff test/jdk/java/nio/file/DirectoryStream/Basic.java
diff -r 413c28945e0f test/jdk/java/nio/file/DirectoryStream/Basic.java
--- a/test/jdk/java/nio/file/DirectoryStream/Basic.java	Wed Dec 05 19:17:22 2018 +0100
+++ b/test/jdk/java/nio/file/DirectoryStream/Basic.java	Thu Dec 13 15:16:57 2018 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -73,14 +73,18 @@
             private PathMatcher matcher =
                 dir.getFileSystem().getPathMatcher("glob:f*");
             public boolean accept(Path file) {
-                return matcher.matches(file);
+                return matcher.matches(file.getFileName());
             }
         };
+
+        found = false;
         try (DirectoryStream<Path> ds = newDirectoryStream(dir, filter)) {
             for (Path entry: ds) {
-                if (!entry.getFileName().equals(foo))
-                    throw new RuntimeException("entry not expected");
+                if (entry.getFileName().equals(foo))
+                   found = true;
             }
+            if (!found)
+                throw new RuntimeException(String.format("Error: entry: %s was not found", foo));
         }
 
         // check filtering: z* should not match any files
@@ -88,7 +92,7 @@
             private PathMatcher matcher =
                 dir.getFileSystem().getPathMatcher("glob:z*");
             public boolean accept(Path file) {
-                return matcher.matches(file);
+                return matcher.matches(file.getFileName());
             }
         };
         try (DirectoryStream<Path> ds = newDirectoryStream(dir, filter)) {
$ 

--------------------------
 <http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>





More information about the core-libs-dev mailing list