]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add tests for cancel
authorBastian Dehn <hhaalo@arcor.de>
Thu, 14 Mar 2024 16:58:38 +0000 (17:58 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 14 Mar 2024 16:58:38 +0000 (17:58 +0100)
src/kds_s2000w_net.c
tests/kds_s2000w_net_read_tests.c
tests/kds_s2000w_net_tests.c

index 8224f86d9ca359ea94cef80e1c46205f84d00ff2..f9fe5dd00ac58296e90a85b1a2437e99f959fc71 100644 (file)
@@ -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;
index 181c652642074cc47e5c225f26a44160d01ca943..e011f4eeca31dd50ddb6476f9c4bde51f5536ea9 100644 (file)
@@ -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);
index d54589d21be0d38e2017d5faa9e36c8144b5d3f5..1eb1cf5617013045968a1c13805178985a829851 100644 (file)
@@ -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