Lines Matching +full:mode +full:- +full:flag
1 /*-
27 * Note: open(2) and openat(2) have 12 events each for various values of 'flag'
30 * 270:AUE_OPENAT_R:openat(2) - read:fr
31 * 271:AUE_OPENAT_RC:openat(2) - read,creat:fc,fr,fa,fm
32 * 272:AUE_OPENAT_RT:openat(2) - read,trunc:fd,fr,fa,fm
33 * 273:AUE_OPENAT_RTC:openat(2) - read,creat,trunc:fc,fd,fr,fa,fm
34 * 274:AUE_OPENAT_W:openat(2) - write:fw
35 * 275:AUE_OPENAT_WC:openat(2) - write,creat:fc,fw,fa,fm
36 * 276:AUE_OPENAT_WT:openat(2) - write,trunc:fd,fw,fa,fm
37 * 277:AUE_OPENAT_WTC:openat(2) - write,creat,trunc:fc,fd,fw,fa,fm
38 * 278:AUE_OPENAT_RW:openat(2) - read,write:fr,fw
39 * 279:AUE_OPENAT_RWC:openat(2) - read,write,create:fc,fw,fr,fa,fm
40 * 280:AUE_OPENAT_RWT:openat(2) - read,write,trunc:fd,fw,fr,fa,fm
41 * 281:AUE_OPENAT_RWTC:openat(2) - read,write,creat,trunc:fc,fd,fw,fr,fa,fm
46 #include <atf-c.h>
59 * Define test-cases for success and failure modes of both open(2) and openat(2)
61 #define OPEN_AT_TC_DEFINE(mode, regex, flag, class) \ argument
62 ATF_TC_WITH_CLEANUP(open_ ## mode ## _success); \
63 ATF_TC_HEAD(open_ ## mode ## _success, tc) \
66 "open(2) call with flags = %s", #flag); \
68 ATF_TC_BODY(open_ ## mode ## _success, tc) \
73 ATF_REQUIRE((filedesc = open(path, O_CREAT, o_mode)) != -1); \
75 ATF_REQUIRE(syscall(SYS_open, path, flag) != -1); \
79 ATF_TC_CLEANUP(open_ ## mode ## _success, tc) \
83 ATF_TC_WITH_CLEANUP(open_ ## mode ## _failure); \
84 ATF_TC_HEAD(open_ ## mode ## _failure, tc) \
87 "open(2) call with flags = %s", #flag); \
89 ATF_TC_BODY(open_ ## mode ## _failure, tc) \
94 ATF_REQUIRE_EQ(-1, syscall(SYS_open, errpath, flag)); \
97 ATF_TC_CLEANUP(open_ ## mode ## _failure, tc) \
101 ATF_TC_WITH_CLEANUP(openat_ ## mode ## _success); \
102 ATF_TC_HEAD(openat_ ## mode ## _success, tc) \
105 "openat(2) call with flags = %s", #flag); \
107 ATF_TC_BODY(openat_ ## mode ## _success, tc) \
113 ATF_REQUIRE((filedesc = open(path, O_CREAT, o_mode)) != -1); \
115 ATF_REQUIRE((filedesc2 = openat(AT_FDCWD, path, flag)) != -1); \
120 ATF_TC_CLEANUP(openat_ ## mode ## _success, tc) \
124 ATF_TC_WITH_CLEANUP(openat_ ## mode ## _failure); \
125 ATF_TC_HEAD(openat_ ## mode ## _failure, tc) \
128 "openat(2) call with flags = %s", #flag); \
130 ATF_TC_BODY(openat_ ## mode ## _failure, tc) \
135 ATF_REQUIRE_EQ(-1, openat(AT_FDCWD, errpath, flag)); \
138 ATF_TC_CLEANUP(openat_ ## mode ## _failure, tc) \
146 #define OPEN_AT_TC_ADD(tp, mode) \ argument
148 ATF_TP_ADD_TC(tp, open_ ## mode ## _success); \
149 ATF_TP_ADD_TC(tp, open_ ## mode ## _failure); \
150 ATF_TP_ADD_TC(tp, openat_ ## mode ## _success); \
151 ATF_TP_ADD_TC(tp, openat_ ## mode ## _failure); \
156 * Each of the 12 OPEN_AT_TC_DEFINE statement is a group of 4 test-cases