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

Function test_basic

test/file-register.c:357–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355}
356
357static int test_basic(struct io_uring *ring, int fail)
358{
359 int *files;
360 int ret, i;
361 int nr_files = fail ? 10 : 100;
362
363 files = open_files(nr_files, fail ? 90 : 0, 0);
364 if (fail) {
365 for (i = nr_files; i < nr_files + 90; i++)
366 files[i] = -2;
367 }
368 ret = io_uring_register_files(ring, files, 100);
369 if (ret) {
370 if (fail) {
371 if (ret == -EBADF || ret == -EFAULT) {
372 close_files(files, nr_files, 0);
373 return 0;
374 }
375 }
376 fprintf(stderr, "%s: register %d\n", __FUNCTION__, ret);
377 goto err;
378 }
379 if (fail) {
380 fprintf(stderr, "Registration succeeded, but expected fail\n");
381 goto err;
382 }
383 ret = io_uring_unregister_files(ring);
384 if (ret) {
385 fprintf(stderr, "%s: unregister %d\n", __FUNCTION__, ret);
386 goto err;
387 }
388 close_files(files, nr_files, 0);
389 return 0;
390err:
391 close_files(files, nr_files, 0);
392 return 1;
393}
394
395/*
396 * Register 0 files, but reserve space for 10. Then add one file.

Callers 1

mainFunction · 0.70

Calls 4

io_uring_register_filesFunction · 0.85
open_filesFunction · 0.70
close_filesFunction · 0.70

Tested by

no test coverage detected