]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add test for start method
authorBastian Dehn <hhaalo@arcor.de>
Sat, 23 Mar 2024 20:45:07 +0000 (21:45 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 23 Mar 2024 20:45:07 +0000 (21:45 +0100)
CMakeLists.txt
tests/kds_s2000w_net_read_tests.c
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests.h
tests/kds_s2000w_net_tests_run.c
tests/kds_s2000w_read_config_tests.c

index 815c532c1616c178ff723a6a5b92d4d9e20c7827..d58040a9adce7c42c104a764845882784b39042e 100644 (file)
@@ -11,8 +11,14 @@ ELSE()
 -g \
 -fsanitize=address \
 -Wl,--wrap,kds_s2000w_client_get_option,\
+--wrap,kds_s2000w_client_start_scan,\
 --wrap,kds_s2000w_client_stop_scan,\
 --wrap,kds_s2000w_client_open_session,\
+--wrap,kds_s2000w_client_status_session,\
+--wrap,kds_s2000w_client_get_image,\
+--wrap,kds_s2000w_client_get_metadata,\
+--wrap,kds_s2000w_convert_jpg_to_pnm,\
+--wrap,kds_s2000w_client_delete_image,\
 --wrap,load_config" CACHE STRING "test coverage compiler flags" FORCE)
 ENDIF()
 
index 254c11bfe1856b3ac0881f8df22cc0975c323e37..56ff920c7e18544d0c0fbb0d8ef55a6097ca61de 100644 (file)
@@ -6,10 +6,11 @@
 #include "../src/kds_s2000w_client.h"
 #include "../src/kds_s2000w_handler.h"
 #include "../src/kds_s2000w_net.h"
+#include "../src/kds_s2000w_image_converter.h"
 
 int __wrap_kds_s2000w_client_open_session(response* response)
 {
-       return 0;
+       return mock_type(int);
 }
 
 void __wrap_load_config(program_config* config, const char* config_stream)
@@ -19,12 +20,42 @@ void __wrap_load_config(program_config* config, const char* config_stream)
 
 int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response)
 {
-       return 0;
+       return mock_type(int);
 }
 
 int __wrap_kds_s2000w_client_get_option(int64_t sessionid, response* response)
 {
-       return 0;
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+{
+       return;
+}
+
+int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response)
+{
+       return mock_type(int);
 }
 
 void sane_kds_s2000w_net_read_cancel_test()
index 2f868df513cd2c2aac9a05dfba5f33f12ea09fc3..5b97ce9e10042bac3a7efff8e18a7fb75ec458a0 100644 (file)
@@ -6,6 +6,7 @@
 #include "../src/kds_s2000w_client.h"
 #include "../src/kds_s2000w_net.h"
 #include "../src/kds_s2000w_handler.h"
+#include "../src/kds_s2000w_image_converter.h"
 
 void __wrap_load_config(program_config* config, const char* config_stream)
 {
@@ -68,6 +69,68 @@ int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response)
        return mock_type(int);
 }
 
+int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response)
+{
+       response->data = realloc(response->data, 205);
+       const char* responsedata =      "{ \
+               \"Status\": { \
+                       \"NumImagesScanned\": 1, \
+                       \"NumImagesStored\": 2, \
+                       \"State\": \"Scanning\", \
+                       \"ErrorNum\": 0, \
+                       \"LastError\": \"Status: 200 Success\", \
+                       \"PaperDetected\": \"0\", \
+                       \"PercentAvailable\": 99 \
+               }}\0";
+
+       memcpy(response->data, responsedata, 205);
+
+       response->code = 200;
+       response->size = sizeof(response->data);
+
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response)
+{
+       response->data = realloc(response->data, 131);
+       const char* responsedata = "{\
+               \"Metadata\": {\
+                       \"BitDepth\": 8, \
+                       \"ImageSize\": 1, \
+                       \"ImageWidth\": 1000, \
+                       \"ImageHeight\": 1000, \
+                       \"ImageHeight\": 1000, \
+               }\
+       }\0";
+       memcpy(response->data, responsedata, 131);
+
+       response->code = 200;
+       response->size = sizeof(response->data);
+
+       return mock_type(int);
+}
+
+void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+{
+       return;
+}
+
+int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response)
+{
+       return mock_type(int);
+}
+
 int __wrap_kds_s2000w_client_open_session(response* response)
 {
        response->data = realloc(response->data, 28);
@@ -514,6 +577,34 @@ void sane_kds_s2000w_net_start_cancel()
        h = NULL;
 }
 
+void sane_kds_s2000w_net_start()
+{
+       will_return(__wrap_kds_s2000w_client_start_scan, 0);
+       will_return(__wrap_kds_s2000w_client_status_session, 0);
+       will_return(__wrap_kds_s2000w_client_get_image, 0);
+       will_return(__wrap_kds_s2000w_client_get_metadata, 0);
+       will_return(__wrap_kds_s2000w_client_delete_image, 0);
+       handler* h = init_handler();
+       const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }";
+       h->current_scanner_config = json_tokener_parse(test_config);
+
+       int result = _sane_kds_s2000w_net_start(h);
+
+       assert_int_equal(result, SANE_STATUS_GOOD);
+       assert_int_equal(h->current_metadata->depth, 8);
+       assert_int_equal(h->current_metadata->channels, 3);
+       assert_int_equal(h->current_metadata->format, 1);
+       assert_int_equal(h->current_metadata->pixels_per_line, 1000);
+       assert_int_equal(h->current_metadata->lines, 1000);
+       assert_int_equal(h->current_metadata->valid, 1);
+       assert_int_equal(h->current_metadata->is_last, 1);
+
+       json_object_put(h->current_scanner_config);
+       h->current_scanner_config = NULL;
+       free_handler(h);
+       h = NULL;
+}
+
 void sane_kds_s2000w_net_get_parameter_cancel()
 {
        handler* h = init_handler();
index 3f2334c98b33199f0438284e7956ac38b3025803..ab586f707cbc258f8066722d078f6eea5c1824a0 100644 (file)
@@ -34,6 +34,7 @@ void sane_kds_s2000w_net_control_get_option_twenty();
 void sane_kds_s2000w_net_control_get_option_twentyone();
 void sane_kds_s2000w_net_control_get_option_twentytwo();
 void sane_kds_s2000w_net_start_cancel();
+void sane_kds_s2000w_net_start();
 void sane_kds_s2000w_net_get_parameter_cancel();
 void sane_kds_s2000w_net_cancel();
 void sane_kds_s2000w_net_open();
index 58f92f8a89eb5f78e947f6a3ad6ff8c31c076ad8..3db7cc732a99adf84869926c8bb0f50e14a0e8bb 100644 (file)
@@ -31,6 +31,7 @@ int main()
                cmocka_unit_test(sane_kds_s2000w_net_control_get_option_twentyone),
                cmocka_unit_test(sane_kds_s2000w_net_control_get_option_twentytwo),
                cmocka_unit_test(sane_kds_s2000w_net_start_cancel),
+               cmocka_unit_test(sane_kds_s2000w_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)
index 779cef0a8008ae7025edf461c15b94894cde3fe2..925a6f01d9a36c4824f47afda2cd0d20d931ac8a 100644 (file)
@@ -3,12 +3,13 @@
 #include "kds_s2000w_read_config_tests.h"
 #include "../src/kds_s2000w_client.h"
 #include "../src/kds_s2000w_config.h"
+#include "../src/kds_s2000w_image_converter.h"
 
 extern typeof (load_config) __real_load_config;
 
 int __wrap_kds_s2000w_client_open_session(response* response)
 {
-       return 0;
+       return mock_type(int);
 }
 
 void __wrap_load_config(program_config* config, const char* config_stream)
@@ -18,12 +19,42 @@ void __wrap_load_config(program_config* config, const char* config_stream)
 
 int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response)
 {
-       return 0;
+       return mock_type(int);
 }
 
 int __wrap_kds_s2000w_client_get_option(int64_t sessionid, response* response)
 {
-       return 0;
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
+{
+       return;
+}
+
+int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response)
+{
+       return mock_type(int);
 }
 
 void kds_s2000w_config_read_parameter()