Просмотр исходного кода

Bring UA_Server_run() and UA_Server_addTimedCallback() under coverage

Frank Meerkoetter лет назад: 6
Родитель
Сommit
8e1a7a6182
1 измененных файлов с 15 добавлено и 0 удалено
  1. 15 0
      tests/server/check_server.c

+ 15 - 0
tests/server/check_server.c

@@ -46,6 +46,20 @@ START_TEST(checkGetNamespaceByName) {
     ck_assert_int_eq(found, UA_STATUSCODE_GOOD);
 } END_TEST
 
+static void timedCallbackHandler(UA_Server *s, void *data) {
+    *((UA_Boolean*)data) = false;  // stop the server via a timedCallback
+}
+
+START_TEST(checkServer_run) {
+    UA_Boolean running = true;
+    // 0 is in the past so the server will terminate on the first iteration
+    UA_StatusCode ret;
+    ret = UA_Server_addTimedCallback(server, &timedCallbackHandler, &running, 0, NULL);
+    ck_assert_int_eq(ret, UA_STATUSCODE_GOOD);
+    ret = UA_Server_run(server, &running);
+    ck_assert_int_eq(ret, UA_STATUSCODE_GOOD);
+} END_TEST
+
 int main(void) {
     Suite *s = suite_create("server");
 
@@ -53,6 +67,7 @@ int main(void) {
     tcase_add_checked_fixture(tc_call, setup, teardown);
     tcase_add_test(tc_call, checkGetConfig);
     tcase_add_test(tc_call, checkGetNamespaceByName);
+    tcase_add_test(tc_call, checkServer_run);
     suite_add_tcase(s, tc_call);
 
     SRunner *sr = srunner_create(s);