return SANE_STATUS_INVAL;
connection_state_t state = kds_s2000w_handler_open(devicename, handle);
- if (handle == NULL)
+ if (*handle == NULL)
return SANE_STATUS_NO_MEM;
handler_t* h = (handler_t*) *handle;
#include "../src/kds_s2000w_client.h"
#include "../src/kds_s2000w_net.h"
#include "../src/kds_s2000w_handler.h"
+#include "../src/kds_s2000w_option_descriptors.h"
#define MAJOR 1
#define MINOR 1
free(hlist);
hlist = NULL;
kds_s2000w_client_free();
+ kds_s2000w_option_descriptors_free();
+}
+
+void sane_kds_s2000w_net_open_no_mem_init_hanlder_test()
+{
+ void** hlist = malloc(sizeof(void*));
+ if (hlist == NULL)
+ return;
+
+ set_no_mem_counter(0);
+ SANE_Status status = sane_kds_s2000w_net_open("kds_s2000w_net", hlist);
+ handler_t* h = (handler_t*) *hlist;
+
+ assert_int_equal(status, SANE_STATUS_NO_MEM);
+
+ kds_s2000w_handler_free(h);
+ h = NULL;
+ free(hlist);
+ hlist = NULL;
+ kds_s2000w_option_descriptors_free();
}
void sane_kds_s2000w_net_open_busy_device_test()
cmocka_unit_test(sane_kds_s2000w_net_get_parameter_color_test),
cmocka_unit_test(sane_kds_s2000w_net_get_parameter_bw_test),
cmocka_unit_test(sane_kds_s2000w_net_open_test),
+ cmocka_unit_test(sane_kds_s2000w_net_open_no_mem_init_hanlder_test),
cmocka_unit_test(sane_kds_s2000w_net_open_busy_device_test),
cmocka_unit_test(sane_kds_s2000w_net_open_invalid_test),
cmocka_unit_test(sane_kds_s2000w_net_open_not_connected_test),