[LTP] [PATCH] syscalls/fanotify09: Make test case definitions more readable
Amir Goldstein
amir73il@gmail.com
Wed Sep 7 13:03:26 CEST 2022
Use explicit field members to initialize test cases and omit
fields initialized to zero to make the definitions more compact
and more readable.
Rename the field s/close_nowrite/event_path to make its meaning
less obscure.
Suggested-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---
Hi Petr,
Here is the cleanup you proposed.
Please check that I did not make any mistakes...
Thanks,
Amir.
.../kernel/syscalls/fanotify/fanotify09.c | 203 ++++++++----------
1 file changed, 94 insertions(+), 109 deletions(-)
diff --git a/testcases/kernel/syscalls/fanotify/fanotify09.c b/testcases/kernel/syscalls/fanotify/fanotify09.c
index e40916c08..3f2db4709 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify09.c
+++ b/testcases/kernel/syscalls/fanotify/fanotify09.c
@@ -82,145 +82,130 @@ static struct tcase {
unsigned int ignore;
unsigned int ignore_flags;
unsigned int report_name;
- const char *close_nowrite;
+ const char *event_path;
int nevents;
unsigned int nonfirst_event;
} tcases[] = {
{
- "Events on non-dir child with both parent and mount marks",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- 0, 0,
- 0,
- DIR_NAME,
- 1, 0,
+ .tname = "Events on non-dir child with both parent and mount marks",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .event_path = DIR_NAME,
+ .nevents = 1,
},
{
- "Events on non-dir child and subdir with both parent and mount marks",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- 0, 0,
- 0,
- DIR_NAME,
- 2, 0,
+ .tname = "Events on non-dir child and subdir with both parent and mount marks",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .event_path = DIR_NAME,
+ .nevents = 2,
},
{
- "Events on non-dir child and parent with both parent and mount marks",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- 0, 0,
- 0,
- ".",
- 2, 0
+ .tname = "Events on non-dir child and parent with both parent and mount marks",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .event_path = ".",
+ .nevents = 2,
},
{
- "Events on non-dir child and subdir with both parent and subdir marks",
- INIT_FANOTIFY_MARK_TYPE(INODE),
- FAN_ONDIR,
- 0, 0,
- 0,
- DIR_NAME,
- 2, 0,
+ .tname = "Events on non-dir child and subdir with both parent and subdir marks",
+ .mark = INIT_FANOTIFY_MARK_TYPE(INODE),
+ .ondir = FAN_ONDIR,
+ .event_path = DIR_NAME,
+ .nevents = 2,
},
{
- "Events on non-dir children with both parent and mount marks",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- 0, 0,
- 0,
- FILE2_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on non-dir children with both parent and mount marks",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .event_path = FILE2_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on non-dir child with both parent and mount marks and filename info",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- 0, 0,
- FAN_REPORT_DFID_NAME,
- FILE2_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on non-dir child with both parent and mount marks and filename info",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .report_name = FAN_REPORT_DFID_NAME,
+ .event_path = FILE2_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on non-dir child with ignore mask on parent",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- FAN_MARK_IGNORED_MASK, 0,
- 0,
- DIR_NAME,
- 1, 0,
+ .tname = "Events on non-dir child with ignore mask on parent",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ignore = FAN_MARK_IGNORED_MASK,
+ .event_path = DIR_NAME,
+ .nevents = 1,
},
{
- "Events on non-dir children with surviving ignore mask on parent",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- FAN_MARK_IGNORED_MASK | FAN_MARK_IGNORED_SURV_MODIFY, 0,
- 0,
- FILE2_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on non-dir children with surviving ignore mask on parent",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ignore = FAN_MARK_IGNORED_MASK | FAN_MARK_IGNORED_SURV_MODIFY,
+ .event_path = FILE2_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
/* FAN_MARK_IGNORE test cases: */
{
- "Events on dir with ignore mask that does not apply to dirs",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- FAN_MARK_IGNORE_SURV, 0,
- 0,
- ".",
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on dir with ignore mask that does not apply to dirs",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .event_path = ".",
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on dir with ignore mask that does apply to dirs",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- FAN_MARK_IGNORE_SURV, FAN_ONDIR,
- 0,
- ".",
- 2, 0,
+ .tname = "Events on dir with ignore mask that does apply to dirs",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .ignore_flags = FAN_ONDIR,
+ .event_path = ".",
+ .nevents = 2,
},
{
- "Events on child with ignore mask on parent that does not apply to children",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- FAN_MARK_IGNORE_SURV, 0,
- 0,
- FILE2_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on child with ignore mask on parent that does not apply to children",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .event_path = FILE2_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on child with ignore mask on parent that does apply to children",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- 0,
- FAN_MARK_IGNORE_SURV, FAN_EVENT_ON_CHILD,
- 0,
- FILE2_NAME,
- 2, 0,
+ .tname = "Events on child with ignore mask on parent that does apply to children",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .ignore_flags = FAN_EVENT_ON_CHILD,
+ .event_path = FILE2_NAME,
+ .nevents = 2,
},
{
- "Events on subdir with ignore mask on parent that does not apply to children",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- FAN_MARK_IGNORE_SURV, FAN_ONDIR,
- 0,
- DIR_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on subdir with ignore mask on parent that does not apply to children",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .ignore_flags = FAN_ONDIR,
+ .event_path = DIR_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on subdir with ignore mask on parent that does not apply to dirs",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- FAN_MARK_IGNORE_SURV, FAN_EVENT_ON_CHILD,
- 0,
- DIR_NAME,
- 2, FAN_CLOSE_NOWRITE,
+ .tname = "Events on subdir with ignore mask on parent that does not apply to dirs",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .ignore_flags = FAN_EVENT_ON_CHILD,
+ .event_path = DIR_NAME,
+ .nevents = 2,
+ .nonfirst_event = FAN_CLOSE_NOWRITE,
},
{
- "Events on subdir with ignore mask on parent that does apply to subdirs",
- INIT_FANOTIFY_MARK_TYPE(MOUNT),
- FAN_ONDIR,
- FAN_MARK_IGNORE_SURV, FAN_EVENT_ON_CHILD | FAN_ONDIR,
- 0,
- DIR_NAME,
- 2, 0,
+ .tname = "Events on subdir with ignore mask on parent that does apply to subdirs",
+ .mark = INIT_FANOTIFY_MARK_TYPE(MOUNT),
+ .ondir = FAN_ONDIR,
+ .ignore = FAN_MARK_IGNORE_SURV,
+ .ignore_flags = FAN_EVENT_ON_CHILD | FAN_ONDIR,
+ .event_path = DIR_NAME,
+ .nevents = 2,
},
};
@@ -261,7 +246,7 @@ static void create_fanotify_groups(struct tcase *tc)
SAFE_FANOTIFY_MARK(fd_notify[i],
FAN_MARK_ADD | mark->flag,
FAN_CLOSE_NOWRITE | mask_flags,
- AT_FDCWD, tc->close_nowrite);
+ AT_FDCWD, tc->event_path);
/*
* Add inode mark on parent for each group with MODIFY event,
@@ -415,7 +400,7 @@ static void test_fanotify(unsigned int n)
/*
* generate FAN_CLOSE_NOWRITE event on a child, subdir or "."
*/
- dirfd = SAFE_OPEN(tc->close_nowrite, O_RDONLY);
+ dirfd = SAFE_OPEN(tc->event_path, O_RDONLY);
SAFE_CLOSE(dirfd);
/*
@@ -443,7 +428,7 @@ static void test_fanotify(unsigned int n)
}
if (tc->nevents > 1 && FAN_EVENT_OK(event, ret)) {
verify_event(0, event, FAN_CLOSE_NOWRITE,
- tc->report_name ? (tc->ondir ? "." : tc->close_nowrite) : "");
+ tc->report_name ? (tc->ondir ? "." : tc->event_path) : "");
event = FAN_EVENT_NEXT(event, ret);
}
if (ret > 0) {
--
2.25.1
More information about the ltp
mailing list