From 788a19f068ce89bff56bda0c72ccbc03307cb7f1 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 11 Feb 2024 17:20:51 +0100 Subject: [PATCH] add test for read last line --- src/kds_s2000w_net.c | 5 +++++ tests/kds_s2000w_net_tests.c | 29 +++++++++++++++++++++++++++++ tests/runtests.c | 1 + 3 files changed, 35 insertions(+) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 4b8b60d..f6ffb8e 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -30,6 +30,11 @@ int* get_cancel() return &cancel; } +int* get_readed_lines() +{ + return &readed_lines; +} + int _sane_kds_s2000w_net_find_first_data_byte(const char* data) { const int header_spaces = 3; diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 305fa87..abcc146 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -78,4 +78,33 @@ START_TEST(sane_kds_s2000w_net_read_cancel_test) free(length); length = NULL; } +END_TEST + +START_TEST(sane_kds_s2000w_net_read_all_lines_test) +{ + int* cancel = get_cancel(); + *cancel = 0; + metadata* current_metadata_ptr = get_current_metadata(); + char* image = malloc(sizeof(char) * 4); + for (int i = 0; i < 3; i++) { + image[i] = 0x0a; + } + image[4] = 0xff; + current_metadata.image = image; + current_metadata_ptr->lines = 1; + int* readed_lines = get_readed_lines(); + *readed_lines = 0; + int* length = malloc(sizeof(int)); + *length = 0; + + _sane_kds_s2000w_net_read(NULL, NULL, 0, length); + SANE_Status status = _sane_kds_s2000w_net_read(NULL, NULL, 0, length); + + ck_assert_int_eq(status, SANE_STATUS_EOF); + + free(length); + length = NULL; + free(image); + image = NULL; +} END_TEST \ No newline at end of file diff --git a/tests/runtests.c b/tests/runtests.c index 8170e45..0e71ff1 100644 --- a/tests/runtests.c +++ b/tests/runtests.c @@ -12,6 +12,7 @@ Suite* first_tests() tcase_add_test(tc_core, sane_kds_s2000w_net_find_first_data_byte_test); tcase_add_test(tc_core, sane_kds_s2000w_net_read_test); tcase_add_test(tc_core, sane_kds_s2000w_net_read_cancel_test); + tcase_add_test(tc_core, sane_kds_s2000w_net_read_all_lines_test); suite_add_tcase(suite, tc_core); -- 2.39.5