From: Bastian Dehn Date: Sun, 24 Mar 2024 18:45:29 +0000 (+0100) Subject: add setup and teardown for start X-Git-Tag: v1.0.0^2~54 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=b2bf00b5ba7d433772a303ba20828bc94c927cb7;p=sane-kds-s2000w-net.git add setup and teardown for start --- diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 6dab9fe..175c790 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -497,11 +497,10 @@ void sane_kds_s2000w_net_start_cancel() h = NULL; } -void sane_kds_s2000w_net_start() +void sane_kds_s2000w_net_start(void** state) { - response* resp_start = kds_s2000w_client_response_init(); - resp_start->code = 200; - will_return(mock_response, resp_start); + response** response_list = (response**) *state; + will_return(mock_response, response_list[0]); will_return(__wrap_kds_s2000w_client_start_scan, 0); response* resp_status = kds_s2000w_client_response_init(); resp_status->data = realloc(resp_status->data, 205); @@ -520,30 +519,11 @@ void sane_kds_s2000w_net_start() resp_status->size = 205; will_return(mock_response, resp_status); will_return(__wrap_kds_s2000w_client_status_session, 0); - response* resp_get_image = kds_s2000w_client_response_init(); - resp_get_image->code = 200; - resp_get_image->size = 0; - will_return(mock_response, resp_get_image); + will_return(mock_response, response_list[1]); will_return(__wrap_kds_s2000w_client_get_image, 0); - response* metadata_response = kds_s2000w_client_response_init(); - metadata_response->data = realloc(metadata_response->data, 107); - const char* metadata = "{\ - \"Metadata\": {\ - \"BitDepth\": 8, \ - \"ImageSize\": 1, \ - \"ImageWidth\": 1000, \ - \"ImageHeight\": 1000, \ - }\ - }\0"; - memcpy(metadata_response->data, metadata, 107); - metadata_response->code = 200; - metadata_response->size = 107; - will_return(mock_response, metadata_response); + will_return(mock_response, response_list[2]); will_return(__wrap_kds_s2000w_client_get_metadata, 0); - response* delete_response = kds_s2000w_client_response_init(); - delete_response->code = 200; - delete_response->size = 0; - will_return(mock_response, delete_response); + will_return(mock_response, response_list[3]); will_return(__wrap_kds_s2000w_client_delete_image, 0); handler* h = init_handler(); const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }"; @@ -562,16 +542,8 @@ void sane_kds_s2000w_net_start() json_object_put(h->current_scanner_config); h->current_scanner_config = NULL; - kds_s2000w_client_response_free(resp_start); - resp_start = NULL; kds_s2000w_client_response_free(resp_status); resp_status = NULL; - kds_s2000w_client_response_free(resp_get_image); - resp_get_image = NULL; - kds_s2000w_client_response_free(metadata_response); - metadata_response = NULL; - kds_s2000w_client_response_free(delete_response); - delete_response = NULL; free_handler(h); h = NULL; } diff --git a/tests/kds_s2000w_net_tests_run.c b/tests/kds_s2000w_net_tests_run.c index 6a49faf..b2d7b27 100644 --- a/tests/kds_s2000w_net_tests_run.c +++ b/tests/kds_s2000w_net_tests_run.c @@ -57,6 +57,48 @@ int teardown_default_get_option(void** state) return 0; } +int setup_net_start(void** state) +{ + response** response_list = malloc(sizeof(response*) * 5); + response_list[0] = kds_s2000w_client_response_init(); + response_list[0]->code = 200; + response_list[1] = kds_s2000w_client_response_init(); + response_list[1]->code = 200; + response_list[2] = kds_s2000w_client_response_init(); + response_list[2]->data = realloc(response_list[2]->data, 107); + const char* metadata = "{\ + \"Metadata\": {\ + \"BitDepth\": 8, \ + \"ImageSize\": 1, \ + \"ImageWidth\": 1000, \ + \"ImageHeight\": 1000, \ + }\ + }\0"; + memcpy(response_list[2]->data, metadata, 107); + response_list[2]->code = 200; + response_list[2]->size = 107; + response_list[3] = kds_s2000w_client_response_init(); + response_list[3]->code = 200; + response_list[4] = NULL; + *state = response_list; + + return 0; +} + +int teardown_net_start(void** state) +{ + response** respons_list = (response**) *state; + for (int i = 0; respons_list[i] != NULL; i++) { + kds_s2000w_client_response_free(respons_list[i]); + respons_list[i] = NULL; + } + + free(respons_list); + respons_list = NULL; + + return 0; +} + int main() { const struct CMUnitTest net_tests[] = { @@ -88,7 +130,7 @@ int main() cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_control_get_option_twentyone, setup_default_get_option, teardown_default_get_option), cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_control_get_option_twentytwo, setup_default_get_option, teardown_default_get_option), cmocka_unit_test(sane_kds_s2000w_net_start_cancel), - cmocka_unit_test(sane_kds_s2000w_net_start), + cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start, setup_net_start, teardown_net_start), cmocka_unit_test(sane_kds_s2000w_net_get_parameter_cancel), cmocka_unit_test(sane_kds_s2000w_net_cancel), cmocka_unit_test(sane_kds_s2000w_net_open)