summaryrefslogtreecommitdiff
path: root/tests/stdlib_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stdlib_test.cpp')
-rw-r--r--tests/stdlib_test.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index e814ef714..9ad96fd81 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -99,6 +99,18 @@ TEST(stdlib, realpath__ENOENT) {
ASSERT_EQ(ENOENT, errno);
}
+TEST(stdlib, realpath__component_after_non_directory) {
+ errno = 0;
+ char* p = realpath("/dev/null/.", NULL);
+ ASSERT_TRUE(p == NULL);
+ ASSERT_EQ(ENOTDIR, errno);
+
+ errno = 0;
+ p = realpath("/dev/null/..", NULL);
+ ASSERT_TRUE(p == NULL);
+ ASSERT_EQ(ENOTDIR, errno);
+}
+
TEST(stdlib, realpath) {
// Get the name of this executable.
char executable_path[PATH_MAX];