Skip to content

Commit

Permalink
cleanup(test): adjust new concatenate_paths test
Browse files Browse the repository at this point in the history
Signed-off-by: Melissa Kilby <[email protected]>
  • Loading branch information
incertum committed Dec 2, 2023
1 parent 7e11981 commit 94b1f33
Showing 1 changed file with 73 additions and 28 deletions.
101 changes: 73 additions & 28 deletions userspace/libsinsp/test/sinsp_utils.ut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,61 +21,106 @@ limitations under the License.

TEST(sinsp_utils_test, concatenate_paths)
{
// Some tests were motivated by this resource:
// https://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_11

std::string path1, path2, res;

/*
* SUCCESS concatenate_paths
*/
res = sinsp_utils::concatenate_paths("", "");
EXPECT_EQ("", res);

path1 = "";
path2 = "../";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("..", res);

path1 = "";
path2 = "./";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ(".", res);

path1 = "";
path2 = "dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ(path2, res);

path1 = "//";
path1 = "";
path2 = "//dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/dir/term", res);

path1 = "/";
path2 = "dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("//dir/term", res);
EXPECT_EQ("/dir/term", res);

path1 = "";
path2 = "///dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/dir/term", res);

path1 = "////";
path2 = "dir/term/";
path1 = "";
path2 = "./dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("////dir/term", res);
EXPECT_EQ("dir/term", res);

path1 = "///../.../";
path2 = "dir/./././///./term/";
path1 = "/";
path2 = "//dir//////term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/.../dir/term", res);
EXPECT_EQ("/dir/term", res);

path1 = "/";
path2 = "/dir/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/dir/term", res);

path1 = "../.../";
path2 = "dir/././././../../.../term/";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("../.../term", res);

/*
* FAILED concatenate_paths
*/
path1 = "../.../";
path2 = "/app/custom/dir/././././../../.../term/";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/app/.../term", res);

res = sinsp_utils::concatenate_paths("", "");
EXPECT_EQ("", res);
path1 = "../.../";
path2 = "/app/custom/dir/././././../../term/";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/app/term", res);

path1 = "";
path2 = "/dir/term";
path1 = "./app";
path2 = "custom/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ(path2, res);
EXPECT_EQ("app/custom/term", res);

path1 = "//";
path2 = "/dir/term";
path1 = "/app";
path2 = "custom/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/dir/term", res);
EXPECT_EQ("/app/custom/term", res);

path1 = "app";
path2 = "custom/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("app/custom/term", res);

path1 = "app//";
path2 = "custom/term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("app/custom/term", res);

path1 = "app/////";
path2 = "custom////term";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("app/custom/term", res);

path1 = "//";
path2 = "////dir/../../././term";
path1 = "/";
path2 = "/app/custom/dir/././././../../term/";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("/term", res);
EXPECT_EQ("/app/term", res);

path1 = "//";
path2 = "////";
path1 = "/";
path2 = "////app";
res = sinsp_utils::concatenate_paths(path1, path2);
EXPECT_EQ("///", res);
EXPECT_EQ("/app", res);
}

0 comments on commit 94b1f33

Please sign in to comment.