]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add tests for could not open device
authorBastian Dehn <hhaalo@arcor.de>
Sat, 18 May 2024 20:29:04 +0000 (22:29 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 18 May 2024 20:29:04 +0000 (22:29 +0200)
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests.h
tests/kds_s2000w_net_tests_run.c

index aceb902933861f239aede705759842bc3a47232f..8aa4f94e110deddbe5e5689850a6bb55c20b5124 100644 (file)
@@ -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);
index f8e7ba8dae38265a7b7c40346dced5bd9af599e0..9a9a419b6360daf37a88fe3751d4be4d203f9d27 100644 (file)
@@ -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
index 9d444f74ac8c5b4d40cf352334d1fc8c74d8eb5d..d41cadee0132736255c5ba6e7e3c77acd5c6c5c3 100644 (file)
@@ -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),