MCPcopy Create free account
hub / github.com/axboe/liburing / basic_cmd_test

Function basic_cmd_test

test/cmd-discard.c:192–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190}
191
192static int basic_cmd_test(struct io_uring *ring, int op)
193{
194 int cmd_op = opcodes[op].op;
195 int ret, fd;
196
197 if (!opcodes[op].test)
198 return T_EXIT_SKIP;
199
200 fd = open(filename, O_DIRECT | O_RDWR | O_EXCL);
201 if (fd < 0) {
202 if (errno == EINVAL || errno == EBUSY)
203 return T_EXIT_SKIP;
204 fprintf(stderr, "open failed %i\n", errno);
205 return T_EXIT_FAIL;
206 }
207
208 ret = cmd_issue_verify(ring, fd, 0, 1, cmd_op);
209 if (ret == T_EXIT_SKIP) {
210 printf("cmd %i not supported, skip\n", cmd_op);
211 opcodes[op].not_supported = 1;
212 close(fd);
213 return T_EXIT_SKIP;
214 } else if (ret) {
215 fprintf(stderr, "cmd %i fail 0 1\n", cmd_op);
216 return T_EXIT_FAIL;
217 }
218
219 ret = cmd_issue_verify(ring, fd, 7, 15, cmd_op);
220 if (ret) {
221 fprintf(stderr, "cmd %i fail 7 15 %i\n", cmd_op, ret);
222 return T_EXIT_FAIL;
223 }
224
225 ret = cmd_issue_verify(ring, fd, 1, MAX_TEST_LBAS - 1, cmd_op);
226 if (ret) {
227 fprintf(stderr, "large cmd %i failed %i\n", cmd_op, ret);
228 return T_EXIT_FAIL;
229 }
230
231 ret = test_parallel(ring, fd, cmd_op);
232 if (ret) {
233 fprintf(stderr, "test_parallel() %i failed %i\n", cmd_op, ret);
234 return T_EXIT_FAIL;
235 }
236
237 close(fd);
238 return 0;
239}
240
241static int test_fail_edge_cases(struct io_uring *ring, int op)
242{

Callers 1

mainFunction · 0.85

Calls 2

cmd_issue_verifyFunction · 0.85
test_parallelFunction · 0.85

Tested by

no test coverage detected