From ed7753534c48c84c1c8d0f5aa4b104309f9b4a0a Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 7 Oct 2025 12:09:02 +0200 Subject: [PATCH] change net test single file --- tests/CMakeLists.txt | 13 ++-- tests/kds_s2000w_net_get_opt_tests.c | 1 - tests/kds_s2000w_net_tests.c | 95 +++++++++++++++++++++++++++- tests/kds_s2000w_net_tests.h | 36 ----------- tests/kds_s2000w_net_tests_run.c | 89 -------------------------- 5 files changed, 98 insertions(+), 136 deletions(-) delete mode 100644 tests/kds_s2000w_net_tests.h delete mode 100644 tests/kds_s2000w_net_tests_run.c diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8263cee..0a7b99f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,12 +20,11 @@ TARGET_LINK_LIBRARIES("kds_s2000w_net_read_tests" ${CMOCKA_LIBRARY} sane-kds_s2000w_net-static) -ADD_EXECUTABLE("kds_s2000w_net_tests_run" - "kds_s2000w_net_tests_run.c" +ADD_EXECUTABLE("kds_s2000w_net_tests" "kds_s2000w_net_tests.c" "kds_s2000w_client_mock.c") -ADD_DEPENDENCIES("kds_s2000w_net_tests_run" sane-kds_s2000w_net-static) -TARGET_LINK_LIBRARIES("kds_s2000w_net_tests_run" +ADD_DEPENDENCIES("kds_s2000w_net_tests" sane-kds_s2000w_net-static) +TARGET_LINK_LIBRARIES("kds_s2000w_net_tests" ${CMOCKA_LIBRARY} sane-kds_s2000w_net-static) @@ -66,15 +65,15 @@ ADD_CUSTOM_TARGET("runningtests" ALL ./kds_s2000w_read_config_tests_run COMMAND ./kds_s2000w_option_descriptor_tests_run COMMAND ./kds_s2000w_net_get_opt_tests - COMMAND ./kds_s2000w_net_tests_run - COMMAND ./kds_s2000w_net_read_tests_run + COMMAND ./kds_s2000w_net_tests + COMMAND ./kds_s2000w_net_read_tests COMMAND ./kds_s2000w_image_type_check_tests COMMAND ./kds_s2000w_image_converter_tests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS "kds_s2000w_read_config_tests_run" "kds_s2000w_option_descriptor_tests_run" "kds_s2000w_net_get_opt_tests" - "kds_s2000w_net_tests_run" + "kds_s2000w_net_tests" "kds_s2000w_net_read_tests" "kds_s2000w_image_type_check_tests" "kds_s2000w_image_converter_tests") diff --git a/tests/kds_s2000w_net_get_opt_tests.c b/tests/kds_s2000w_net_get_opt_tests.c index f422a44..da2640f 100644 --- a/tests/kds_s2000w_net_get_opt_tests.c +++ b/tests/kds_s2000w_net_get_opt_tests.c @@ -8,7 +8,6 @@ #include #include #include -#include "kds_s2000w_net_tests.h" #include "kds_s2000w_client_mock.h" #include "../src/kds_s2000w_client.h" #include "../src/kds_s2000w_net.h" diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 2ea322b..6c9d920 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -1,7 +1,11 @@ +#include +#include +#include +#include +#include #include -#include #include -#include "kds_s2000w_net_tests.h" +#include #include "kds_s2000w_client_mock.h" #include "../src/kds_s2000w_client.h" #include "../src/kds_s2000w_net.h" @@ -11,6 +15,63 @@ #define MINOR 1 #define PATCH 8 +int setup(void** state) +{ + response** response_list = malloc(sizeof(response*) * 4); + response_list[0] = kds_s2000w_client_response_init(); + response_list[0]->code = 200; + response_list[1] = kds_s2000w_client_response_init(); + const char* metadata = "{\ + \"Metadata\": {\ + \"BitDepth\": 8, \ + \"ImageSize\": 1, \ + \"ImageWidth\": 1920, \ + \"ImageHeight\": 1080, \ + }\ + }"; + response_list[1]->size = 106; + response_list[1]->data = malloc(response_list[1]->size); + memcpy(response_list[1]->data, metadata, response_list[1]->size); + response_list[1]->code = 200; + response_list[2] = kds_s2000w_client_response_init(); + response_list[2]->code = 200; + response_list[2]->size = 17; + response_list[2]->data = malloc(sizeof(char) * 17); + char* image_data = (char*) response_list[2]->data; + image_data[0] = 0x50; + image_data[1] = 0x36; + image_data[2] = 0x0a; + image_data[3] = 0x32; + image_data[4] = 0x20; + image_data[5] = 0x31; + image_data[6] = 0x0a; + image_data[7] = 0x32; + image_data[8] = 0x35; + image_data[9] = 0x35; + image_data[10] = 0x0a; + for (uint32_t i = 11; i < 17; i++) { + image_data[i] = 0xff; + } + response_list[3] = NULL; + *state = response_list; + + return 0; +} + +int teardown(void** state) +{ + response** respons_list = (response**) *state; + for (uint32_t 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; +} + void kds_s2000w_net_init_test() { SANE_Int* version = malloc(sizeof(SANE_Int)); @@ -29,7 +90,7 @@ void kds_s2000w_net_get_devices_test() SANE_Device*** device_list = malloc(sizeof(SANE_Device**)); sane_kds_s2000w_net_get_devices(device_list, 0); - + 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"); @@ -610,4 +671,32 @@ void kds_s2000w_net_get_select_fd_test() SANE_Status result = sane_kds_s2000w_net_get_select_fd(NULL, NULL); assert_int_equal(result, SANE_STATUS_UNSUPPORTED); +} + +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_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), + cmocka_unit_test(sane_kds_s2000w_net_open_test), + cmocka_unit_test(sane_kds_s2000w_net_open_busy_device_test), + cmocka_unit_test(sane_kds_s2000w_net_open_invalid_test), + cmocka_unit_test(sane_kds_s2000w_net_open_not_connected_test), + cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_test, setup, teardown), + cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_flatscan_test, setup, teardown), + cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_feeder_test, setup, teardown), + cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_two_pages_per_feeder_test, setup, teardown), + cmocka_unit_test(sane_kds_s2000w_net_cancel_test), + cmocka_unit_test(sane_kds_s2000w_net_cancel_start_test), + cmocka_unit_test(sane_kds_s2000w_net_cancel_canceled_test), + cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_feeder_test), + cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_flatbed_test), + cmocka_unit_test(kds_s2000w_net_set_io_mode_test), + cmocka_unit_test(kds_s2000w_net_get_select_fd_test) + }; + + return cmocka_run_group_tests(net_tests, NULL, NULL); } \ No newline at end of file diff --git a/tests/kds_s2000w_net_tests.h b/tests/kds_s2000w_net_tests.h deleted file mode 100644 index 9dd6b66..0000000 --- a/tests/kds_s2000w_net_tests.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef KDS_S2000W_NET_TESTS_H -#define KDS_S2000W_NET_TESTS_H -#include -#include -#include -#include -#include - -void kds_s2000w_net_init_test(); - -void kds_s2000w_net_get_devices_test(); -void kds_s2000w_net_get_devices_only_remote_test(); - -void sane_kds_s2000w_net_get_parameter_color_test(); -void sane_kds_s2000w_net_get_parameter_bw_test(); - -void sane_kds_s2000w_net_open_test(); -void sane_kds_s2000w_net_open_busy_device_test(); -void sane_kds_s2000w_net_open_invalid_test(); -void sane_kds_s2000w_net_open_not_connected_test(); - -void sane_kds_s2000w_net_start_test(void** state); -void sane_kds_s2000w_net_start_one_page_per_flatscan_test(void** state); -void sane_kds_s2000w_net_start_one_page_per_feeder_test(void** state); -void sane_kds_s2000w_net_start_two_pages_per_feeder_test(void** state); - -void sane_kds_s2000w_net_cancel_test(); -void sane_kds_s2000w_net_cancel_start_test(); -void sane_kds_s2000w_net_cancel_canceled_test(); -void sane_kds_s2000w_net_cancel_completed_scan_flatbed_test(); -void sane_kds_s2000w_net_cancel_completed_scan_feeder_test(); - -void kds_s2000w_net_set_io_mode_test(); -void kds_s2000w_net_get_select_fd_test(); - -#endif \ No newline at end of file diff --git a/tests/kds_s2000w_net_tests_run.c b/tests/kds_s2000w_net_tests_run.c deleted file mode 100644 index 200ea6f..0000000 --- a/tests/kds_s2000w_net_tests_run.c +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include -#include "kds_s2000w_net_tests.h" -#include "../src/kds_s2000w_client.h" - -int setup(void** state) -{ - response** response_list = malloc(sizeof(response*) * 4); - response_list[0] = kds_s2000w_client_response_init(); - response_list[0]->code = 200; - response_list[1] = kds_s2000w_client_response_init(); - const char* metadata = "{\ - \"Metadata\": {\ - \"BitDepth\": 8, \ - \"ImageSize\": 1, \ - \"ImageWidth\": 1920, \ - \"ImageHeight\": 1080, \ - }\ - }"; - response_list[1]->size = 106; - response_list[1]->data = malloc(response_list[1]->size); - memcpy(response_list[1]->data, metadata, response_list[1]->size); - response_list[1]->code = 200; - response_list[2] = kds_s2000w_client_response_init(); - response_list[2]->code = 200; - response_list[2]->size = 17; - response_list[2]->data = malloc(sizeof(char) * 17); - char* image_data = (char*) response_list[2]->data; - image_data[0] = 0x50; - image_data[1] = 0x36; - image_data[2] = 0x0a; - image_data[3] = 0x32; - image_data[4] = 0x20; - image_data[5] = 0x31; - image_data[6] = 0x0a; - image_data[7] = 0x32; - image_data[8] = 0x35; - image_data[9] = 0x35; - image_data[10] = 0x0a; - for (uint32_t i = 11; i < 17; i++) { - image_data[i] = 0xff; - } - response_list[3] = NULL; - *state = response_list; - - return 0; -} - -int teardown(void** state) -{ - response** respons_list = (response**) *state; - for (uint32_t 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[] = { - 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_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), - cmocka_unit_test(sane_kds_s2000w_net_open_test), - cmocka_unit_test(sane_kds_s2000w_net_open_busy_device_test), - cmocka_unit_test(sane_kds_s2000w_net_open_invalid_test), - cmocka_unit_test(sane_kds_s2000w_net_open_not_connected_test), - cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_test, setup, teardown), - cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_flatscan_test, setup, teardown), - cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_feeder_test, setup, teardown), - cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_two_pages_per_feeder_test, setup, teardown), - cmocka_unit_test(sane_kds_s2000w_net_cancel_test), - cmocka_unit_test(sane_kds_s2000w_net_cancel_start_test), - cmocka_unit_test(sane_kds_s2000w_net_cancel_canceled_test), - cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_feeder_test), - cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_flatbed_test), - cmocka_unit_test(kds_s2000w_net_set_io_mode_test), - cmocka_unit_test(kds_s2000w_net_get_select_fd_test) - }; - - return cmocka_run_group_tests(net_tests, NULL, NULL); -} \ No newline at end of file -- 2.47.3