if (descriptors == NULL)
return SANE_STATUS_NO_MEM;
+ for (int i = 0; i < max_option_count; i++) {
+ descriptors[i] = NULL;
+ }
+
for (int i = 0; i < max_option_count; i++) {
descriptors[i] = malloc(sizeof(option_descriptor_t));
if (descriptors[i] == NULL) {
assert_null(option);
}
+void Kds_s2000w_option_init_descriptor_no_mem()
+{
+ kds_s2000w_option_descriptors_free();
+
+ set_no_mem_counter(0);
+ SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+ assert_int_equal(status, SANE_STATUS_NO_MEM);
+
+ status = 0;
+ set_no_mem_counter(1);
+ status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+ assert_int_equal(status, SANE_STATUS_NO_MEM);
+}
+
int main()
{
const struct CMUnitTest option_descriptor_tests[] = {
cmocka_unit_test(kds_s2000w_option_get_descriptor_over_max_options_test),
cmocka_unit_test(kds_s2000w_option_full_get_descriptor_by_number),
cmocka_unit_test(kds_s2000w_option_full_get_descriptor_over_max_options_test),
+ cmocka_unit_test(Kds_s2000w_option_init_descriptor_no_mem)
};
return cmocka_run_group_tests(option_descriptor_tests, setup, teardown);