On Thu, 2020-01-16 at 20:18 -0600, Benjamin Marzinski wrote:
> Signed-off-by: Benjamin Marzinski <[email protected]>
> ---
>  tests/Makefile   |   3 +-
>  tests/directio.c | 704
> +++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 706 insertions(+), 1 deletion(-)
>  create mode 100644 tests/directio.c
> 
> diff --git a/tests/Makefile b/tests/Makefile
> index a5cdf390..275fdd7d 100644
> +
> +/* test async checkers pending and getting resovled by another
> checker
> + * as well as the loops for getting multiple events */
> +static void test_check_state_async(void **state)
> +{
> +     int i;
> +     struct checker c[257] = {0};
> +     struct async_req *reqs[257];
> +     int res[257] = {0};
> +
> +     do_libcheck_load();
> +     for (i = 0; i < 257; i++)
> +             do_libcheck_init(&c[i], 4096, &reqs[i]);
> +     for (i = 0; i < 256; i++) {
> +             return_io_getevents_none();
> +             do_check_state(&c[i], 0, 30, PATH_PENDING);
> +             assert_true(is_checker_running(&c[i]));
> +     }
> +     return_io_getevents_nr(&full_timeout, 256, reqs, res);
> +     return_io_getevents_nr(NULL, 1, &reqs[256], &res[256]);
> +     do_check_state(&c[256], 0, 30, PATH_UP);
> +     assert_false(is_checker_running(&c[256]));
> +     libcheck_free(&c[i]);

Writing &c[256] here would be better readable. Apart from that, this is
looking good. Some of the tests are implementation-specific, but that's
fine if we stick with this implementation.

I wish we could have some tests with real aio for this, but that would
be difficult to set up right. Perhaps scsi_debug could be leveraged for
it.

Regards
Martin




--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to