From: Bastian Dehn Date: Sat, 18 May 2024 20:29:04 +0000 (+0200) Subject: add tests for could not open device X-Git-Tag: v1.0.3^2~3 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=16aa2b5e4cf22482d3a98154297aa663b863e4ff;p=sane-kds-s2000w-net.git add tests for could not open device --- diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index aceb902..8aa4f94 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -605,6 +605,42 @@ void sane_kds_s2000w_net_open_busy_device() assert_int_equal(h->state, BUSY); assert_int_equal(status, SANE_STATUS_DEVICE_BUSY); + free_handler(h); + h = NULL; + kds_s2000w_client_response_free(resp); + resp = NULL; + free(hlist); + hlist = NULL; +} + +void sane_kds_s2000w_net_open_invalid() +{ + void** hlist = malloc(sizeof(void*)); + + SANE_Status status = _sane_kds_s2000w_net_open("wrong_device_name", hlist); + + assert_int_equal(status, SANE_STATUS_INVAL); + + free(hlist); + hlist = NULL; +} + +void sane_kds_s2000w_net_open_not_connected() +{ + response* resp = kds_s2000w_client_response_init(); + resp->code = 0; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_open_session, 0); + expect_function_call(__wrap_kds_s2000w_client_open_session); + void** hlist = malloc(sizeof(void*)); + + SANE_Status status = _sane_kds_s2000w_net_open("kds_s2000w_net", hlist); + handler* h = (handler*) *hlist; + + assert_int_equal(h->sessionid, 0); + assert_int_equal(h->state, NOTCONNECTED); + assert_int_equal(status, SANE_STATUS_IO_ERROR); + free_handler(h); h = NULL; kds_s2000w_client_response_free(resp); diff --git a/tests/kds_s2000w_net_tests.h b/tests/kds_s2000w_net_tests.h index f8e7ba8..9a9a419 100644 --- a/tests/kds_s2000w_net_tests.h +++ b/tests/kds_s2000w_net_tests.h @@ -22,5 +22,7 @@ void sane_kds_s2000w_net_get_parameter_cancel(); void sane_kds_s2000w_net_cancel(); void sane_kds_s2000w_net_open(); void sane_kds_s2000w_net_open_busy_device(); +void sane_kds_s2000w_net_open_invalid(); +void sane_kds_s2000w_net_open_not_connected(); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_net_tests_run.c b/tests/kds_s2000w_net_tests_run.c index 9d444f7..d41cade 100644 --- a/tests/kds_s2000w_net_tests_run.c +++ b/tests/kds_s2000w_net_tests_run.c @@ -74,6 +74,8 @@ int main() cmocka_unit_test(sane_kds_s2000w_net_cancel), cmocka_unit_test(sane_kds_s2000w_net_open), cmocka_unit_test(sane_kds_s2000w_net_open_busy_device), + cmocka_unit_test(sane_kds_s2000w_net_open_invalid), + cmocka_unit_test(sane_kds_s2000w_net_open_not_connected), cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start, setup_net_start, teardown_net_start), cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_flatscan, setup_net_start, teardown_net_start), cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_feeder, setup_net_start, teardown_net_start),