aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-05-29 17:45:01 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-05-29 17:45:01 +0000
commit7ec549870f2adeb0e896885220d4af6b47c4c9ba (patch)
treefc3ef5c10388e91650bf36f20314913048c1f3b6
parentee41a882054c0761853971f8742607b3eae06784 (diff)
fts: Add some depth to the options test
MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D57323
-rw-r--r--lib/libc/tests/gen/fts_options_test.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/lib/libc/tests/gen/fts_options_test.c b/lib/libc/tests/gen/fts_options_test.c
index fc3015138a49..863c0809d16e 100644
--- a/lib/libc/tests/gen/fts_options_test.c
+++ b/lib/libc/tests/gen/fts_options_test.c
@@ -36,6 +36,8 @@ fts_options_prepare(const struct atf_tc *tc)
ATF_REQUIRE_EQ(0, mkdir("dir", 0755));
ATF_REQUIRE_EQ(0, close(creat("file", 0644)));
ATF_REQUIRE_EQ(0, close(creat("dir/file", 0644)));
+ ATF_REQUIRE_EQ(0, mkdir("dir/sd", 0750));
+ ATF_REQUIRE_EQ(0, mkdir("dir/sd/sd", 0700));
ATF_REQUIRE_EQ(0, symlink("..", "dir/up"));
ATF_REQUIRE_EQ(0, symlink("dir", "dirl"));
ATF_REQUIRE_EQ(0, symlink("file", "filel"));
@@ -57,6 +59,10 @@ ATF_TC_BODY(fts_options_logical, tc)
{ FTS_DL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "dir/file" },
+ { FTS_D, "sd", "dir/sd" },
+ { FTS_D, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd" },
{ FTS_D, "up", "dir/up" },
{ FTS_DL, "dead", "dir/up/dead" },
{ FTS_DC, "dir", "dir/up/dir" },
@@ -67,6 +73,10 @@ ATF_TC_BODY(fts_options_logical, tc)
{ FTS_DP, "dir", "dir" },
{ FTS_D, "dirl", "dirl" },
{ FTS_F, "file", "dirl/file" },
+ { FTS_D, "sd", "dirl/sd" },
+ { FTS_D, "sd", "dirl/sd/sd" },
+ { FTS_DP, "sd", "dirl/sd/sd" },
+ { FTS_DP, "sd", "dirl/sd" },
{ FTS_D, "up", "dirl/up" },
{ FTS_DL, "dead", "dirl/up/dead" },
{ FTS_DC, "dir", "dirl/up/dir" },
@@ -108,6 +118,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc)
{ FTS_DL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_NSOK, "file", "dir/file" },
+ { FTS_D, "sd", "dir/sd" },
+ { FTS_D, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd" },
{ FTS_D, "up", "dir/up" },
{ FTS_DL, "dead", "dir/up/dead" },
{ FTS_DC, "dir", "dir/up/dir" },
@@ -118,6 +132,10 @@ ATF_TC_BODY(fts_options_logical_nostat, tc)
{ FTS_DP, "dir", "dir" },
{ FTS_D, "dirl", "dirl" },
{ FTS_NSOK, "file", "dirl/file" },
+ { FTS_D, "sd", "dirl/sd" },
+ { FTS_D, "sd", "dirl/sd/sd" },
+ { FTS_DP, "sd", "dirl/sd/sd" },
+ { FTS_DP, "sd", "dirl/sd" },
{ FTS_D, "up", "dirl/up" },
{ FTS_DL, "dead", "dirl/up/dead" },
{ FTS_DC, "dir", "dirl/up/dir" },
@@ -151,6 +169,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc)
{ FTS_DOT, ".", "dir/." },
{ FTS_DOT, "..", "dir/.." },
{ FTS_F, "file", "dir/file" },
+ { FTS_D, "sd", "dir/sd" },
+ { FTS_DOT, ".", "dir/sd/." },
+ { FTS_DOT, "..", "dir/sd/.." },
+ { FTS_D, "sd", "dir/sd/sd" },
+ { FTS_DOT, ".", "dir/sd/sd/." },
+ { FTS_DOT, "..", "dir/sd/sd/.." },
+ { FTS_DP, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd" },
{ FTS_D, "up", "dir/up" },
{ FTS_DOT, ".", "dir/up/." },
{ FTS_DOT, "..", "dir/up/.." },
@@ -165,6 +191,14 @@ ATF_TC_BODY(fts_options_logical_seedot, tc)
{ FTS_DOT, ".", "dirl/." },
{ FTS_DOT, "..", "dirl/.." },
{ FTS_F, "file", "dirl/file" },
+ { FTS_D, "sd", "dirl/sd" },
+ { FTS_DOT, ".", "dirl/sd/." },
+ { FTS_DOT, "..", "dirl/sd/.." },
+ { FTS_D, "sd", "dirl/sd/sd" },
+ { FTS_DOT, ".", "dirl/sd/sd/." },
+ { FTS_DOT, "..", "dirl/sd/sd/.." },
+ { FTS_DP, "sd", "dirl/sd/sd" },
+ { FTS_DP, "sd", "dirl/sd" },
{ FTS_D, "up", "dirl/up" },
{ FTS_DOT, ".", "dirl/up/." },
{ FTS_DOT, "..", "dirl/up/.." },
@@ -198,6 +232,10 @@ ATF_TC_BODY(fts_options_physical, tc)
{ FTS_SL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_SL, "dirl", "dirl" },
@@ -224,6 +262,10 @@ ATF_TC_BODY(fts_options_physical_nochdir, tc)
{ FTS_SL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "dir/file" },
+ { FTS_D, "sd", "dir/sd" },
+ { FTS_D, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd/sd" },
+ { FTS_DP, "sd", "dir/sd" },
{ FTS_SL, "up", "dir/up" },
{ FTS_DP, "dir", "dir" },
{ FTS_SL, "dirl", "dirl" },
@@ -250,10 +292,18 @@ ATF_TC_BODY(fts_options_physical_comfollow, tc)
{ FTS_DL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_D, "dirl", "dirl" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dirl", "dirl" },
{ FTS_F, "file", "file" },
@@ -279,10 +329,18 @@ ATF_TC_BODY(fts_options_physical_comfollowdir, tc)
{ FTS_DL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_D, "dirl", "dirl" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dirl", "dirl" },
{ FTS_F, "file", "file" },
@@ -308,6 +366,10 @@ ATF_TC_BODY(fts_options_physical_nostat, tc)
{ FTS_SL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_NSOK, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_NSOK, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_SL, "dirl", "dirl" },
@@ -334,6 +396,10 @@ ATF_TC_BODY(fts_options_physical_nostat_type, tc)
{ FTS_SL, "dead", "dead" },
{ FTS_D, "dir", "dir" },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_SL, "dirl", "dirl" },
@@ -362,6 +428,14 @@ ATF_TC_BODY(fts_options_physical_seedot, tc)
{ FTS_DOT, ".", "." },
{ FTS_DOT, "..", ".." },
{ FTS_F, "file", "file" },
+ { FTS_D, "sd", "sd" },
+ { FTS_DOT, ".", "." },
+ { FTS_DOT, "..", ".." },
+ { FTS_D, "sd", "sd" },
+ { FTS_DOT, ".", "." },
+ { FTS_DOT, "..", ".." },
+ { FTS_DP, "sd", "sd" },
+ { FTS_DP, "sd", "sd" },
{ FTS_SL, "up", "up" },
{ FTS_DP, "dir", "dir" },
{ FTS_SL, "dirl", "dirl" },