提交 eca350c8 编写于 作者: A alanb

6978511: (file) Path.toRealPath should fail if not resolving links and file does not exist

Reviewed-by: forax, chegar
上级 c107c33d
......@@ -1141,6 +1141,13 @@ class UnixPath
}
result = result.resolve(element);
}
// check file exists (without following links)
try {
UnixFileAttributes.get(result, false);
} catch (UnixException x) {
x.rethrowAsIOException(result);
}
return result;
}
......
......@@ -260,6 +260,21 @@ public class Misc {
*/
assertTrue(file.toRealPath(true).isSameFile(file.toRealPath(false)));
/**
* Test: toRealPath should fail if file does not exist
*/
Path doesNotExist = dir.resolve("DoesNotExist");
try {
doesNotExist.toRealPath(true);
throw new RuntimeException("IOException expected");
} catch (IOException expected) {
}
try {
doesNotExist.toRealPath(false);
throw new RuntimeException("IOException expected");
} catch (IOException expected) {
}
/**
* Test: toRealPath(true) should resolve links
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册