You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2018/11/19 05:41:56 UTC
[mesos] 02/02: Added unit tests for Stout `path::normalize`
function in POSIX.
This is an automated email from the ASF dual-hosted git repository.
jieyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git
commit b866fc3278dc4fd48d1a50493bcde1efdfa91cc7
Author: Jason Lai <ja...@jasonlai.net>
AuthorDate: Sun Nov 18 21:12:28 2018 -0800
Added unit tests for Stout `path::normalize` function in POSIX.
Review: https://reviews.apache.org/r/68832/
---
3rdparty/stout/tests/path_tests.cpp | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/3rdparty/stout/tests/path_tests.cpp b/3rdparty/stout/tests/path_tests.cpp
index 452865b..19dd910 100644
--- a/3rdparty/stout/tests/path_tests.cpp
+++ b/3rdparty/stout/tests/path_tests.cpp
@@ -200,6 +200,42 @@ TEST(PathTest, Extension)
}
+TEST(PathTest, Normalize)
+{
+ EXPECT_SOME_EQ(".", path::normalize(""));
+
+#ifndef __WINDOWS__
+ EXPECT_SOME_EQ("a/b/c", path::normalize("a/b/c/"));
+ EXPECT_SOME_EQ("a/b/c", path::normalize("a///b//c"));
+ EXPECT_SOME_EQ("a/b/c", path::normalize("a/foobar/../b//c/"));
+ EXPECT_SOME_EQ("a/b/c/.d", path::normalize("a/b/c/./.d/"));
+
+ EXPECT_SOME_EQ(".", path::normalize("a/b/../c/../.."));
+ EXPECT_SOME_EQ(".", path::normalize("a/b/../c/../../"));
+
+ EXPECT_SOME_EQ("..", path::normalize("a/../b/c/../../.."));
+ EXPECT_SOME_EQ("../..", path::normalize("a/../../.."));
+ EXPECT_SOME_EQ("../../a", path::normalize("../.././a/"));
+ EXPECT_SOME_EQ("../../b", path::normalize("../../a///../b"));
+ EXPECT_SOME_EQ("../../c", path::normalize("a/../b/.././../../c"));
+
+ EXPECT_SOME_EQ("/a/b/c", path::normalize("/a/b/c"));
+ EXPECT_SOME_EQ("/a/b/c", path::normalize("//a///b/c"));
+ EXPECT_SOME_EQ("/a/b/c", path::normalize("/a/foobar/../b//c/"));
+ EXPECT_SOME_EQ("/a/b/c/.d", path::normalize("/a/b/c/./.d/"));
+
+ EXPECT_SOME_EQ("/", path::normalize("/a/b/../c/../.."));
+ EXPECT_SOME_EQ("/", path::normalize("/a/b/../c/../../"));
+
+ EXPECT_ERROR(path::normalize("/a/../b/c/../../.."));
+ EXPECT_ERROR(path::normalize("/a/../../.."));
+ EXPECT_ERROR(path::normalize("/../.././a/"));
+ EXPECT_ERROR(path::normalize("/../../a///../b"));
+ EXPECT_ERROR(path::normalize("//a/../b/.././../../c"));
+#endif // __WINDOWS__
+}
+
+
TEST(PathTest, Join)
{
EXPECT_EQ("a%b", path::join("a", "b", '%'));