From 4f0eb11817e13dbb2ff805ef52bb9bcb3c224a11 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Thu, 30 Oct 2025 18:09:04 +0100 Subject: [PATCH] add test no mem for get devices --- tests/kds_s2000w_net_tests.c | 38 +++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 0ca095f..553a4a7 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -104,8 +104,9 @@ void kds_s2000w_net_get_devices_test() if (device_list == NULL) return; - sane_kds_s2000w_net_get_devices(device_list, 0); + SANE_Status status = sane_kds_s2000w_net_get_devices(device_list, 0); + assert_int_equal(status, SANE_STATUS_GOOD); assert_string_equal(device_list[0][0]->name, "kds_s2000w_net"); assert_string_equal(device_list[0][0]->vendor, "Kodak"); assert_string_equal(device_list[0][0]->model, "Kodak Alaris s2000w series"); @@ -114,6 +115,39 @@ void kds_s2000w_net_get_devices_test() free(device_list); device_list = NULL; + sane_kds_s2000w_net_exit(); +} + +void kds_s2000w_net_get_devices_no_mem_device_array_test() +{ + set_no_mem_counter(1); + SANE_Device*** device_list = malloc(sizeof(SANE_Device**)); + if (device_list == NULL) + return; + + SANE_Status status = sane_kds_s2000w_net_get_devices(device_list, 0); + + assert_int_equal(status, SANE_STATUS_NO_MEM); + + free(device_list); + device_list = NULL; + sane_kds_s2000w_net_exit(); +} + +void kds_s2000w_net_get_devices_no_mem_device_array_entries_test() +{ + set_no_mem_counter(2); + SANE_Device*** device_list = malloc(sizeof(SANE_Device**)); + if (device_list == NULL) + return; + + SANE_Status status = sane_kds_s2000w_net_get_devices(device_list, 0); + + assert_int_equal(status, SANE_STATUS_NO_MEM); + + free(device_list); + device_list = NULL; + sane_kds_s2000w_net_exit(); } void kds_s2000w_net_get_devices_only_remote_test() @@ -727,6 +761,8 @@ int main() const struct CMUnitTest net_tests[] = { cmocka_unit_test(kds_s2000w_net_init_test), cmocka_unit_test(kds_s2000w_net_get_devices_test), + cmocka_unit_test(kds_s2000w_net_get_devices_no_mem_device_array_test), + cmocka_unit_test(kds_s2000w_net_get_devices_no_mem_device_array_entries_test), cmocka_unit_test(kds_s2000w_net_get_devices_only_remote_test), cmocka_unit_test(sane_kds_s2000w_net_get_parameter_color_test), cmocka_unit_test(sane_kds_s2000w_net_get_parameter_bw_test), -- 2.47.3