]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add no mem test for profiles
authorBastian Dehn <hhaalo@arcor.de>
Sat, 8 Nov 2025 08:39:49 +0000 (09:39 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 8 Nov 2025 08:39:49 +0000 (09:39 +0100)
tests/kds_s2000w_option_descriptor_tests.c

index 95170f85e726bbad9e59b2c0536651e710feabf0..d7a1b74f8730100d38419b98b4ce759f7d4dff29 100644 (file)
@@ -8,6 +8,30 @@
 #include "kds_s2000w_client_mock.h"
 #include "../src/kds_s2000w_option_descriptors.h"
 
+void _kds_s2000w_option_init_descriptor_no_mem(int16_t no_mem_count)
+{
+               set_no_mem_counter(no_mem_count);
+               SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+               assert_int_equal(status, SANE_STATUS_NO_MEM);
+}
+
+void _kds_s2000w_option_init_descriptor_profile_v1_0_36_no_mem(int16_t no_mem_count)
+{
+               set_no_mem_counter(no_mem_count);
+               SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_230802_V1_0_36);
+
+               assert_int_equal(status, SANE_STATUS_NO_MEM);
+}
+
+void _kds_s2000w_option_init_descriptor_min_profile_no_mem(int16_t no_mem_count)
+{
+               set_no_mem_counter(no_mem_count);
+               SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_MIN);
+
+               assert_int_equal(status, SANE_STATUS_NO_MEM);
+}
+
 int setup(void** state)
 {
        return kds_s2000w_option_descriptors_init(PROFILE_FULL);
@@ -874,20 +898,30 @@ void kds_s2000w_option_get_unknown_descriptor_test()
        assert_null(descriptor);
 }
 
-void kds_s2000w_option_init_descriptor_no_mem(int16_t no_mem_count)
+void kds_s2000w_option_init_descriptor_no_mem_test()
 {
-               set_no_mem_counter(no_mem_count);
-               SANE_Status status = kds_s2000w_option_descriptors_init(PROFILE_FULL);
+       kds_s2000w_option_descriptors_free();
 
-               assert_int_equal(status, SANE_STATUS_NO_MEM);
+       for (uint32_t i = 0; i < 134; i++) {
+               _kds_s2000w_option_init_descriptor_no_mem(i);
+       }
 }
 
-void kds_s2000w_option_init_descriptor_no_mem_test()
+void kds_s2000w_option_init_descriptor_min_profile_no_mem_test()
 {
        kds_s2000w_option_descriptors_free();
 
-       for (uint32_t i = 0; i < 134; i++) {
-               kds_s2000w_option_init_descriptor_no_mem(i);
+       for (uint32_t i = 0; i < 29; i++) {
+               _kds_s2000w_option_init_descriptor_min_profile_no_mem(i);
+       }
+}
+
+void kds_s2000w_option_init_descriptor_profile_v1_0_36_no_mem_test()
+{
+       kds_s2000w_option_descriptors_free();
+
+       for (uint32_t i = 0; i < 70; i++) {
+               _kds_s2000w_option_init_descriptor_profile_v1_0_36_no_mem(i);
        }
 }
 
@@ -947,7 +981,9 @@ int main()
                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_get_unknown_descriptor_test),
-               cmocka_unit_test(kds_s2000w_option_init_descriptor_no_mem_test)
+               cmocka_unit_test(kds_s2000w_option_init_descriptor_no_mem_test),
+               cmocka_unit_test(kds_s2000w_option_init_descriptor_min_profile_no_mem_test),
+               cmocka_unit_test(kds_s2000w_option_init_descriptor_profile_v1_0_36_no_mem_test)
 
        };