]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change tests with setup two responses
authorBastian Dehn <hhaalo@arcor.de>
Sun, 26 Oct 2025 06:09:44 +0000 (07:09 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 26 Oct 2025 06:09:44 +0000 (07:09 +0100)
tests/kds_s2000w_net_set_opt_tests.c

index ce18118e929aaffa55cafdde489bf5c1f60ba535..82ad879f1f5966e69ea9c873838bcd091e99b0c2 100644 (file)
 int setup_default_option(void** state)
 {
        kds_s2000w_option_descriptors_init(PROFILE_FULL);
+
+       response_t** responses = malloc(sizeof(response_t*) * 2);
+       if (responses == NULL)
+               return 1;
        response_t* resp = kds_s2000w_client_response_init();
        const char* responsedata = "{ \
                \"Status\": { \
@@ -74,16 +78,26 @@ int setup_default_option(void** state)
        resp->data = malloc(resp->size);
        memcpy(resp->data, responsedata, resp->size);
        resp->code = 200;
-       *state = resp;
+
+       response_t* set_opt_resp = kds_s2000w_client_response_init();
+       set_opt_resp->code = 200;
+
+       responses[0] = resp;
+       responses[1] = set_opt_resp;
+       *state = responses;
        return 0;
 }
 
 int teardown_default_option(void** state)
 {
        kds_s2000w_option_descriptors_free();
-       response_t* resp = (response_t*) *state;
-       kds_s2000w_client_response_free(resp);
-       resp = NULL;
+       response_t** responses = (response_t**) *state;
+       for (int32_t i = 0; i < 2; i++) {
+               kds_s2000w_client_response_free(responses[i]);
+               responses[i] = NULL;
+       }
+       free(responses);
+       responses = NULL;
        return 0;
 }
 
@@ -93,17 +107,15 @@ void kds_s2000w_net_set_option_string(void** state)
        if (info == NULL)
                return;
 
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
        *info = 0;
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -119,8 +131,6 @@ void kds_s2000w_net_set_option_string(void** state)
        assert_string_equal(value, "Gray");
        assert_int_equal(*info, SANE_INFO_RELOAD_PARAMS);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(info);
@@ -134,16 +144,14 @@ void kds_s2000w_net_set_option_int(void** state)
                return;
 
        *set_value = 5;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -158,8 +166,6 @@ void kds_s2000w_net_set_option_int(void** state)
        assert_int_equal(status, SANE_STATUS_GOOD);
        assert_int_equal(value, 5);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -180,18 +186,16 @@ void kds_s2000w_net_set_option_reset(void** state)
        defauls_resp->code = 200;
 
        *set_value = 1;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        will_return(mock_response, defauls_resp);
        will_return(__wrap_kds_s2000w_client_get_capabilities, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -209,8 +213,6 @@ void kds_s2000w_net_set_option_reset(void** state)
 
        kds_s2000w_client_response_free(defauls_resp);
        defauls_resp = NULL;
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -224,16 +226,14 @@ void kds_s2000w_net_set_option_int_br_x(void** state)
                return;
 
        *set_value = 300;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -248,8 +248,6 @@ void kds_s2000w_net_set_option_int_br_x(void** state)
        assert_int_equal(status, SANE_STATUS_GOOD);
        assert_int_equal(value, 10);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -263,16 +261,14 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_x(void** state)
                return;
 
        *set_value = 0;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -287,8 +283,6 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_x(void** state)
        assert_int_equal(status, SANE_STATUS_GOOD);
        assert_int_equal(value, 10);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -302,16 +296,14 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_y(void** state)
                return;
 
        *set_value = 0;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -326,8 +318,6 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_y(void** state)
        assert_int_equal(status, SANE_STATUS_GOOD);
        assert_int_equal(value, 10);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -341,16 +331,14 @@ void kds_s2000w_net_set_option_int_word_list(void** state)
                return;
 
        *set_value = 300;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -365,8 +353,6 @@ void kds_s2000w_net_set_option_int_word_list(void** state)
        assert_int_equal(status, SANE_STATUS_GOOD);
        assert_int_equal(value, 300);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -379,15 +365,13 @@ void kds_s2000w_net_set_invalid_option_string(void** state)
        if (info == NULL)
                return;
 
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
        *info = 0;
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -396,8 +380,6 @@ void kds_s2000w_net_set_invalid_option_string(void** state)
 
        assert_int_equal(status, SANE_STATUS_INVAL);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(info);
@@ -411,14 +393,12 @@ void kds_s2000w_net_set_invalid_option_int(void** state)
                return;
 
        *set_value = 12;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -427,8 +407,6 @@ void kds_s2000w_net_set_invalid_option_int(void** state)
 
        assert_int_equal(status, SANE_STATUS_INVAL);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);
@@ -442,14 +420,12 @@ void kds_s2000w_net_set_invalid_option_int_word_list(void** state)
                return;
 
        *set_value = 305;
-       response_t* resp = (response_t*) *state;
+       response_t** responses = (response_t**) *state;
        handler_t* h = kds_s2000w_handler_init();
-       response_t* set_opt_resp = kds_s2000w_client_response_init();
-       set_opt_resp->code = 200;
 
-       will_return(mock_response, resp);
+       will_return(mock_response, responses[0]);
        will_return(__wrap_kds_s2000w_client_get_option, 0);
-       will_return(mock_response, set_opt_resp);
+       will_return(mock_response, responses[1]);
        will_return(__wrap_kds_s2000w_client_set_option, 0);
        expect_function_call(__wrap_kds_s2000w_client_get_option);
        expect_function_call(__wrap_kds_s2000w_client_set_option);
@@ -458,8 +434,6 @@ void kds_s2000w_net_set_invalid_option_int_word_list(void** state)
 
        assert_int_equal(status, SANE_STATUS_INVAL);
 
-       kds_s2000w_client_response_free(set_opt_resp);
-       set_opt_resp = NULL;
        kds_s2000w_handler_free(h);
        h = NULL;
        free(set_value);