Hi Franck, Vyom,

On 10/07/2019 08:34, Vyom Tewari26 wrote:
that's what i suspected, but test is passing at my local envĀ  even after i changes the permission to 733.
Vyom

Argh!

Of course, the test should ideally throw an AssertionError if
the expected exception is not raised.
And you will discover that chmod doesn't work on windows:

Something like this seems to be missing:

@@ -54,6 +54,7 @@
         try {
             URLConnection uc = url.openConnection();
             uc.connect();
+            throw new AssertionError("connect should have failed");
         } catch (IOException e) {
             // OK
         } catch (Exception e) {
@@ -63,6 +64,7 @@
         try {
             URLConnection uc = url.openConnection();
             uc.getInputStream();
+            throw new AssertionError("getInputStream should have failed");
         } catch (IOException e) {
             // OK
         } catch (Exception e) {
@@ -72,8 +74,6 @@
         try {
             URLConnection uc = url.openConnection();
             uc.getContentLengthLong();
-        } catch (IOException e) {
-            // OK
         } catch (Exception e) {
             throw new RuntimeException("Failed " + e);
         }

But if you do that - then the test will consistently fail on
windows. Maybe we should do it though, and add an @require
tag to skip windows... Or use the java.nio.files APIs with
PosixAttributeView [2] (if supported) or ACL view [3] (if posix
is not available) to change the file readability instead
of using chmod...

Side note: the length of the file can be obtained even if the directory
is not readable:

$ mkdir ~/test/notreadable
$ chmod 333 ~/test/notreadable

$ ls -l ~/test | grep notr
d-wx-wx-wx+  2 dfuchs  owner        68 Jul 10 10:43 notreadable

$ ls -l ~/test/notreadable
ls: notreadable: Permission denied

As per [1] the issue was that sometimes a NPE was thrown, so for
getContentLengthLong() it is enough to verify that no stray
exception is thrown - which the test does adequately.

best regards,

-- daniel

[1] https://bugs.openjdk.java.net/browse/JDK-6977851
[2] https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html [3] https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/attribute/AclFileAttributeView.html

Reply via email to