From cd621fa5d6325ce2b94ffb82202c5a901ecf7f90 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Thu, 14 Mar 2024 17:58:38 +0100 Subject: [PATCH] add tests for cancel --- src/kds_s2000w_net.c | 6 +----- tests/kds_s2000w_net_read_tests.c | 2 ++ tests/kds_s2000w_net_tests.c | 33 ++++++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 8224f86..f9fe5dd 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -127,9 +127,7 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, debug_printf(ALL, "sane_kds_s2000w_net_get_parameters"); handler* h = (handler*) handle; - // cancel if (h->read_info->cancel) { - h->read_info->cancel = 0; reset_handler(h); return SANE_STATUS_CANCELLED; } @@ -159,9 +157,8 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle) { debug_printf(ALL, "sane_kds_s2000w_net_start"); handler* h = (handler*) handle; - // cancel + if (h->read_info->cancel) { - h->read_info->cancel = 0; reset_handler(h); return SANE_STATUS_CANCELLED; } @@ -206,7 +203,6 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data, // cancel if (h->read_info->cancel) { - h->read_info->cancel = 0; reset_handler(h); *length = 0; return SANE_STATUS_CANCELLED; diff --git a/tests/kds_s2000w_net_read_tests.c b/tests/kds_s2000w_net_read_tests.c index 181c652..e011f4e 100644 --- a/tests/kds_s2000w_net_read_tests.c +++ b/tests/kds_s2000w_net_read_tests.c @@ -14,6 +14,8 @@ START_TEST(sane_kds_s2000w_net_read_cancel_test) SANE_Status status = _sane_kds_s2000w_net_read(h, NULL, 0, length); + ck_assert_int_eq(h->read_info->cancel, 0); + ck_assert_int_eq(h->read_info->scan_started, 0); ck_assert_int_eq(status, SANE_STATUS_CANCELLED); free(length); diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index d54589d..1eb1cf5 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -462,7 +462,6 @@ START_TEST(sane_kds_s2000w_net_control_get_option_twentyone) } END_TEST - START_TEST(sane_kds_s2000w_net_control_get_option_twentytwo) { handler* h = init_handler(); @@ -479,6 +478,36 @@ START_TEST(sane_kds_s2000w_net_control_get_option_twentytwo) } END_TEST +START_TEST(sane_kds_s2000w_net_start_cancel) +{ + handler* h = init_handler(); + h->read_info->cancel = 1; + + SANE_Status status = _sane_kds_s2000w_net_start(h); + + ck_assert_int_eq(h->read_info->cancel, 0); + ck_assert_int_eq(status, SANE_STATUS_CANCELLED); + + free_handler(h); + h = NULL; +} +END_TEST + +START_TEST(sane_kds_s2000w_net_get_parameter_cancel) +{ + handler* h = init_handler(); + h->read_info->cancel = 1; + + SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, NULL); + + ck_assert_int_eq(h->read_info->cancel, 0); + ck_assert_int_eq(status, SANE_STATUS_CANCELLED); + + free_handler(h); + h = NULL; +} +END_TEST + Suite* net_tests() { Suite* net_tests_suite = suite_create("kds_s2000w_net"); @@ -511,6 +540,8 @@ Suite* net_tests() tcase_add_test(net_tests, sane_kds_s2000w_net_control_get_option_twenty); tcase_add_test(net_tests, sane_kds_s2000w_net_control_get_option_twentyone); tcase_add_test(net_tests, sane_kds_s2000w_net_control_get_option_twentytwo); + tcase_add_test(net_tests, sane_kds_s2000w_net_get_parameter_cancel); + tcase_add_test(net_tests, sane_kds_s2000w_net_start_cancel); suite_add_tcase(net_tests_suite, net_tests); return net_tests_suite; } \ No newline at end of file -- 2.39.5