Alan, The real reason is if we do not change on resolve, the string passed into native canonicalize will be like "//./a/" which is not expected in native part. In native part, we resume that no more "//" in the path string (already normalized in java). We can fix this by either: 1) in java part, like the webrev here or 2) in native canonicalize_md.c as webrev0. If the test run on Windows, should it run in unix like shell on Windows? The separator "/" is not for Windows.
Thanks Yumin On Thu, Feb 15, 2018 at 12:23 AM, Alan Bateman <alan.bate...@oracle.com> wrote: > On 14/02/2018 23:52, yumin qi wrote: > >> Brian, >> >> Updated using RuntimeException, which will not need -ea so removed. >> http://cr.openjdk.java.net/~minqi/8194154/webrev1/ < >> http://cr.openjdk.java.net/%7Eminqi/8194154/webrev1/> >> >> Can you explain why resolve has been changed to call normalize > parent+child? I can't help thinking there is something else going on if > this change is needed. > > I see the mails about the test so I'll skip that except to say that it > should not need "require". The test should be able to run on all platforms. > > -Alan > >