RFR: 8193277: SimpleFileObject inconsistency between getName and getShortName

Jonathan Gibbons jonathan.gibbons at oracle.com
Thu Mar 14 00:58:27 UTC 2019


+1


On 03/13/2019 05:23 PM, Liam Miller-Cushon wrote:
> Thanks for the context. Proactively wrapping it sounds like a good 
> idea, I updated the change to do that:
>
> http://cr.openjdk.java.net/~cushon/8193277/webrev.01/ 
> <http://cr.openjdk.java.net/%7Ecushon/8193277/webrev.01/>
>
> (I also filed JDK-8220634 for SymLinkArchiveTest)
>
> On Wed, Mar 13, 2019 at 4:40 PM Jonathan Gibbons 
> <jonathan.gibbons at oracle.com <mailto:jonathan.gibbons at oracle.com>> wrote:
>
>     Hmmm, curious,
>
>     The src/ change is OK; all the concern is about the test, on
>     Windows, and this text in the spec:
>
>     https://docs.oracle.com/javase/9/docs/api/java/nio/file/Files.html#createSymbolicLink-java.nio.file.Path-java.nio.file.Path-java.nio.file.attribute.FileAttribute...-
>
>>     Where symbolic links are supported, but the underlying
>>     |FileStore|
>>     <https://docs.oracle.com/javase/9/docs/api/java/nio/file/FileStore.html>
>>     does not support symbolic links, then this may fail with an
>>     |IOException|
>>     <https://docs.oracle.com/javase/9/docs/api/java/io/IOException.html>.
>>     Additionally, some operating systems may require that the Java
>>     virtual machine be started with implementation specific
>>     privileges to create symbolic links, in which case this method
>>     may throw |IOException|.
>
>     That's spec-speak to cover the case that the historical perception
>     has been that (IIRC) you require admin privileges on Windows to
>     create symbolic links.
>
>     Taking a quick survey of existing tests ...
>
>     $ grep -rl Files.createSym open/test/langtools/
>     open/test/langtools/tools/javac/modules/SourceInSymlinkTest.java
>     open/test/langtools/tools/javac/file/SymLinkTest.java
>     open/test/langtools/tools/javac/file/SymLinkArchiveTest.java
>     open/test/langtools/tools/javac/links/LinksTest.java
>
>     ... I see that 3 of the 4 use something like this idiom:
>
>>             try {
>>                 Files.createSymbolicLink(lsrc, Paths.get("src"));
>>             } catch (FileSystemException fse) {
>>                 System.err.println("warning: test passes vacuously,
>>     sym-link could not be created");
>>                 System.err.println(fse.getMessage());
>>                 return;
>>             }
>
>     But SymLinkArchiveTest.java does not -- it just does a plain call
>     of Files.createSymbolicLink, and the test is not excluded (i.e.
>     listed on the ProblemList)
>
>     So, given your assertion that you get a clean build/test run, and
>     given the existence of a separate test that appears to be able to
>     create symbolic links on all platforms, I guess the test is good
>     to go.  But if any problems arise with this test, we may need to
>     wrap the call as illustrated above. Or you can proactively wrap
>     it, to be on the safe side.
>
>     -- jon
>
>
>
>     On 03/13/2019 03:46 PM, Liam Miller-Cushon wrote:
>>     Any concerns with this, as long as the tests pass on all platforms?
>>
>>     On Tue, Mar 5, 2019 at 2:36 PM Liam Miller-Cushon
>>     <cushon at google.com <mailto:cushon at google.com>> wrote:
>>
>>         The submit repo build is clean.
>>
>>         On Tue, Mar 5, 2019 at 3:30 PM Liam Miller-Cushon
>>         <cushon at google.com <mailto:cushon at google.com>> wrote:
>>
>>             On Tue, Mar 5, 2019 at 3:16 PM Jonathan Gibbons
>>             <jonathan.gibbons at oracle.com
>>             <mailto:jonathan.gibbons at oracle.com>> wrote:
>>
>>                 There can be problems with symbolic links on Windows.
>>                 Have you tried the
>>                 test on a Windows system?
>>
>>
>>             Not yet, I just sent it to the submit repo.
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20190313/8c741682/attachment.html>


More information about the compiler-dev mailing list