From d4bf5dc099bb57a63d4776d0f39da0ccfddd56f7 Mon Sep 17 00:00:00 2001 From: Gayathri Date: Thu, 13 Jul 2017 15:25:49 +0530 Subject: [PATCH] Allow seshat registration to be configurable at compile time --- CMakeLists.txt | 4 +- src/CMakeLists.txt | 12 +- src/conn_interface.c | 54 +------- src/seshat_interface.c | 66 ++++++++++ src/seshat_interface.h | 39 ++++++ src/seshat_interface_stub.c | 38 ++++++ tests/CMakeLists.txt | 119 ++++++++---------- ...nterface-rws.c => test_seshat_interface.c} | 4 +- tests/test_seshat_interface_stub.c | 61 +++++++++ 9 files changed, 275 insertions(+), 122 deletions(-) create mode 100644 src/seshat_interface.c create mode 100644 src/seshat_interface.h create mode 100644 src/seshat_interface_stub.c rename tests/{test_conn_interface-rws.c => test_seshat_interface.c} (98%) create mode 100644 tests/test_seshat_interface_stub.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 0913fa3..becb196 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,6 @@ include_directories(${INCLUDE_DIR} ${INCLUDE_DIR}/wrp-c ${INCLUDE_DIR}/libparodus ${INCLUDE_DIR}/cimplog - ${INCLUDE_DIR}/libseshat ${INCLUDE_DIR}/cjwt ) @@ -189,6 +188,7 @@ ExternalProject_Add(libparodus add_library(liblibparodus STATIC SHARED IMPORTED) add_dependencies(liblibparodus libparodus) +if (ENABLE_SESHAT) # libseshat external dependency #------------------------------------------------------------------------------- ExternalProject_Add(libseshat @@ -204,6 +204,8 @@ ExternalProject_Add(libseshat ) add_library(liblibseshat STATIC SHARED IMPORTED) add_dependencies(liblibseshat libseshat) +include_directories(${INCLUDE_DIR}/libseshat) +endif (ENABLE_SESHAT) # libcjwt external dependency #------------------------------------------------------------------------------- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4b5cdbf..ef779e7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,6 +16,12 @@ set(SOURCES main.c mutex.c networking.c nopoll_helpers.c nopoll_handlers.c connection.c spin_thread.c client_list.c service_alive.c upstream.c downstream.c thread_tasks.c partners_check.c token.c) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} seshat_interface.c) +else() +set(SOURCES ${SOURCES} seshat_interface_stub.c) +endif (ENABLE_SESHAT) + add_executable(parodus ${SOURCES}) target_link_libraries (parodus @@ -24,7 +30,6 @@ target_link_libraries (parodus -lmsgpackc -ltrower-base64 -lnopoll - -llibseshat -luuid -lm -lcimplog @@ -37,4 +42,9 @@ target_link_libraries (parodus -lresolv -lcjwt ) + +if (ENABLE_SESHAT) +target_link_libraries (parodus -llibseshat) +endif (ENABLE_SESHAT) + install (TARGETS parodus DESTINATION bin) diff --git a/src/conn_interface.c b/src/conn_interface.c index ed2af7d..842dcc5 100644 --- a/src/conn_interface.c +++ b/src/conn_interface.c @@ -17,14 +17,13 @@ #include "mutex.h" #include "spin_thread.h" #include "service_alive.h" -#include +#include "seshat_interface.h" /*----------------------------------------------------------------------------*/ /* Macros */ /*----------------------------------------------------------------------------*/ #define HEARTBEAT_RETRY_SEC 30 /* Heartbeat (ping/pong) timeout in seconds */ -#define SESHAT_SERVICE_NAME "Parodus" /*----------------------------------------------------------------------------*/ /* File Scoped Variables */ @@ -39,12 +38,6 @@ pthread_mutex_t close_mut=PTHREAD_MUTEX_INITIALIZER; /* Function Prototypes */ /*----------------------------------------------------------------------------*/ -#if BUILD_YOCTO -static bool __registerWithSeshat(void); -#else -bool __registerWithSeshat(void); -#endif - /*----------------------------------------------------------------------------*/ /* External Functions */ /*----------------------------------------------------------------------------*/ @@ -134,48 +127,3 @@ void createSocketConnection(void *config_in, void (* initKeypress)()) nopoll_cleanup_library(); } -/*----------------------------------------------------------------------------*/ -/* Internal functions */ -/*----------------------------------------------------------------------------*/ -/** - * @brief Helper function to register with seshat. - * - * @note return whether successfully registered. - * - * @return true when registered, false otherwise. - */ -#if BUILD_YOCTO -static bool __registerWithSeshat() -#else -bool __registerWithSeshat() -#endif -{ - char *seshat_url = get_parodus_cfg()->seshat_url; - char *parodus_url = get_parodus_cfg()->local_url; - char *discover_url = NULL; - bool rv = false; - - if( 0 == init_lib_seshat(seshat_url) ) { - ParodusInfo("seshatlib initialized! (url %s)\n", seshat_url); - - if( 0 == seshat_register(SESHAT_SERVICE_NAME, parodus_url) ) { - ParodusInfo("seshatlib registered! (url %s)\n", parodus_url); - - discover_url = seshat_discover(SESHAT_SERVICE_NAME); - if( (NULL != discover_url) && (0 == strcmp(parodus_url, discover_url)) ) { - ParodusInfo("seshatlib discovered url = %s\n", discover_url); - rv = true; - } else { - ParodusError("seshatlib registration error (url %s)!", discover_url); - } - free(discover_url); - } else { - ParodusError("seshatlib not registered! (url %s)\n", parodus_url); - } - } else { - ParodusPrint("seshatlib not initialized! (url %s)\n", seshat_url); - } - - shutdown_seshat_lib(); - return rv; -} diff --git a/src/seshat_interface.c b/src/seshat_interface.c new file mode 100644 index 0000000..b3a629a --- /dev/null +++ b/src/seshat_interface.c @@ -0,0 +1,66 @@ +/** + * @file seshat_interface.c + * + * @description This decribes interface to register seshat service. + * + * Copyright (c) 2015 Comcast + */ + +#include "seshat_interface.h" +#include "ParodusInternal.h" +#include "config.h" +#include + +/*----------------------------------------------------------------------------*/ +/* Macros */ +/*----------------------------------------------------------------------------*/ +#define SESHAT_SERVICE_NAME "Parodus" +/*----------------------------------------------------------------------------*/ +/* File Scoped Variables */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Function Prototypes */ +/*----------------------------------------------------------------------------*/ + + +/*----------------------------------------------------------------------------*/ +/* Internal Functions */ +/*----------------------------------------------------------------------------*/ + + +/*----------------------------------------------------------------------------*/ +/* External functions */ +/*----------------------------------------------------------------------------*/ + +bool __registerWithSeshat() +{ + char *seshat_url = get_parodus_cfg()->seshat_url; + char *parodus_url = get_parodus_cfg()->local_url; + char *discover_url = NULL; + bool rv = false; + + if( 0 == init_lib_seshat(seshat_url) ) { + ParodusInfo("seshatlib initialized! (url %s)\n", seshat_url); + + if( 0 == seshat_register(SESHAT_SERVICE_NAME, parodus_url) ) { + ParodusInfo("seshatlib registered! (url %s)\n", parodus_url); + + discover_url = seshat_discover(SESHAT_SERVICE_NAME); + if( (NULL != discover_url) && (0 == strcmp(parodus_url, discover_url)) ) { + ParodusInfo("seshatlib discovered url = %s\n", discover_url); + rv = true; + } else { + ParodusError("seshatlib registration error (url %s)!", discover_url); + } + free(discover_url); + } else { + ParodusError("seshatlib not registered! (url %s)\n", parodus_url); + } + } else { + ParodusPrint("seshatlib not initialized! (url %s)\n", seshat_url); + } + + shutdown_seshat_lib(); + return rv; +} diff --git a/src/seshat_interface.h b/src/seshat_interface.h new file mode 100644 index 0000000..7d7df03 --- /dev/null +++ b/src/seshat_interface.h @@ -0,0 +1,39 @@ +/** + * @file seshat_interface.h + * + * @description This header defines interface to register seshat service. + * + * Copyright (c) 2015 Comcast + */ + +#ifndef _SESHAT_INTERFACE_H_ +#define _SESHAT_INTERFACE_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*----------------------------------------------------------------------------*/ +/* File Scoped Variables */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Function Prototypes */ +/*----------------------------------------------------------------------------*/ + +/** + * @brief Helper function to register with seshat. + * + * @note return whether successfully registered. + * + * @return true when registered, false otherwise. + */ +bool __registerWithSeshat(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/seshat_interface_stub.c b/src/seshat_interface_stub.c new file mode 100644 index 0000000..2b3b4c9 --- /dev/null +++ b/src/seshat_interface_stub.c @@ -0,0 +1,38 @@ +/** + * @file seshat_interface_stub.c + * + * @description This decribes interface to register seshat service + * + * Copyright (c) 2015 Comcast + */ + +#include "seshat_interface.h" +#include "ParodusInternal.h" + +/*----------------------------------------------------------------------------*/ +/* Macros */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* File Scoped Variables */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Function Prototypes */ +/*----------------------------------------------------------------------------*/ + + +/*----------------------------------------------------------------------------*/ +/* Internal Functions */ +/*----------------------------------------------------------------------------*/ + + +/*----------------------------------------------------------------------------*/ +/* External functions */ +/*----------------------------------------------------------------------------*/ + +bool __registerWithSeshat() +{ + ParodusInfo("libseshat disabled, Hence proceeding without registration\n"); + return true; +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b476833..2ab6258 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -17,11 +17,11 @@ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST ") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -W -g -fprofile-arcs -ftest-coverage -O0") set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -O0") set (PARODUS_COMMON_SRC ../src/string_helpers.c ../src/mutex.c ../src/time.c ../src/config.c ../src/spin_thread.c) -set (PARODUS_COMMON_LIBS gcov -lcunit -lcimplog -llibseshat -lwrp-c - -luuid -lpthread -lmsgpackc - -lnopoll -lnanomsg -Wl,--no-as-needed - -lcjwt -lcjson -ltrower-base64 -lssl -lcrypto -lrt -lm -) +set (PARODUS_COMMON_LIBS gcov -lcunit -lcimplog -lwrp-c -luuid -lpthread -lmsgpackc -lnopoll -lnanomsg -Wl,--no-as-needed -lcjwt -lcjson -ltrower-base64 -lssl -lcrypto -lrt -lm) + +if (ENABLE_SESHAT) +set (PARODUS_COMMON_LIBS -llibseshat ${PARODUS_COMMON_LIBS}) +endif (ENABLE_SESHAT) set (PARODUS_CONN_LIBS -lresolv) if(NOT DISABLE_VALGRIND) set (MEMORY_CHECK valgrind --leak-check=full --show-reachable=yes -v) @@ -59,7 +59,6 @@ target_link_libraries (libpd_test cunit -llibparodus -lwrp-c - -llibseshat -luuid -lmsgpackc -ltrower-base64 @@ -68,7 +67,9 @@ target_link_libraries (libpd_test -lm -lpthread -lrt) - +if (ENABLE_SESHAT) +target_link_libraries (libpd_test -llibseshat) +endif (ENABLE_SESHAT) #------------------------------------------------------------------------------- # test_time #------------------------------------------------------------------------------- @@ -128,11 +129,17 @@ target_link_libraries (test_createConnection ${PARODUS_CONN_LIBS} ${PARODUS_COMM add_test(NAME test_client_list COMMAND ${MEMORY_CHECK} ./test_client_list) #add_executable(test_client_list test_client_list.c ../src/client_list.c ../src/service_alive.c ../src/upstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/downstream.c ../src/connection.c ../src/nopoll_handlers.c ../src/ParodusInternal.c ../src/thread_tasks.c ../src/conn_interface.c ../src/partners_check.c ${PARODUS_COMMON_SRC}) #target_link_libraries (test_client_list ${PARODUS_COMMON_LIBS}) -add_executable(test_client_list test_client_list.c ../src/client_list.c +set(SOURCES test_client_list.c ../src/client_list.c ../src/service_alive.c ../src/upstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/downstream.c ../src/connection.c ../src/nopoll_handlers.c ../src/ParodusInternal.c ../src/thread_tasks.c ../src/conn_interface.c ../src/partners_check.c ../src/token.c ${PARODUS_COMMON_SRC}) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} ../src/seshat_interface.c) +else() +set(SOURCES ${SOURCES} ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(test_client_list ${SOURCES}) target_link_libraries (test_client_list ${PARODUS_CONN_LIBS} ${PARODUS_COMMON_LIBS}) #------------------------------------------------------------------------------- @@ -141,7 +148,13 @@ target_link_libraries (test_client_list ${PARODUS_CONN_LIBS} ${PARODUS_COMMON_LI add_test(NAME test_service_alive COMMAND ${MEMORY_CHECK} ./test_service_alive) #add_executable(test_service_alive test_service_alive.c ../src/client_list.c ../src/service_alive.c ../src/upstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/nopoll_handlers.c ../src/config.c ../src/connection.c ../src/ParodusInternal.c ../src/downstream.c ../src/thread_tasks.c ../src/conn_interface.c ../src/partners_check.c ${PARODUS_COMMON_SRC}) #target_link_libraries (test_service_alive ${PARODUS_COMMON_LIBS}) -add_executable(test_service_alive test_service_alive.c ../src/client_list.c ../src/service_alive.c ../src/upstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/nopoll_handlers.c ../src/config.c ../src/connection.c ../src/token.c ../src/ParodusInternal.c ../src/downstream.c ../src/thread_tasks.c ../src/conn_interface.c ../src/partners_check.c ${PARODUS_COMMON_SRC}) +set(SOURCES test_service_alive.c ../src/client_list.c ../src/service_alive.c ../src/upstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/nopoll_handlers.c ../src/config.c ../src/connection.c ../src/token.c ../src/ParodusInternal.c ../src/downstream.c ../src/thread_tasks.c ../src/conn_interface.c ../src/partners_check.c ${PARODUS_COMMON_SRC}) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} ../src/seshat_interface.c) +else() +set(SOURCES ${SOURCES} ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(test_service_alive ${SOURCES}) target_link_libraries (test_service_alive ${PARODUS_CONN_LIBS} ${PARODUS_COMMON_LIBS}) #------------------------------------------------------------------------------- @@ -179,7 +192,13 @@ target_link_libraries (test_thread_tasks -lcmocka ${PARODUS_COMMON_LIBS} ) # test_conn_interface #------------------------------------------------------------------------------- add_test(NAME test_conn_interface COMMAND ${MEMORY_CHECK} ./test_conn_interface) -add_executable(test_conn_interface test_conn_interface.c ../src/conn_interface.c ../src/config.c ../src/string_helpers.c ../src/mutex.c) +set(SOURCES test_conn_interface.c ../src/conn_interface.c ../src/config.c ../src/string_helpers.c ../src/mutex.c) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} ../src/seshat_interface.c) +else() +set(SOURCES ${SOURCES} ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(test_conn_interface ${SOURCES}) target_link_libraries (test_conn_interface -lcmocka ${PARODUS_COMMON_LIBS} ) #------------------------------------------------------------------------------- @@ -194,7 +213,7 @@ target_link_libraries (test_ParodusInternal -lcmocka ${PARODUS_COMMON_LIBS} ) #------------------------------------------------------------------------------- add_test(NAME test_partners_check COMMAND ${MEMORY_CHECK} ./test_partners_check) add_executable(test_partners_check test_partners_check.c ../src/partners_check.c) -target_link_libraries (test_partners_check -lcmocka -lwrp-c -llibseshat ${PARODUS_COMMON_LIBS}) +target_link_libraries (test_partners_check -lcmocka ${PARODUS_COMMON_LIBS} -lwrp-c) #------------------------------------------------------------------------------- # test_token - token.c tests @@ -204,72 +223,44 @@ add_executable(test_token test_token.c ../src/token.c ../src/string_helpers.c .. target_link_libraries (test_token ${PARODUS_COMMON_LIBS} ${PARODUS_JWT_LIBS} -lcmocka ) #------------------------------------------------------------------------------- -# test_conn_interface - registerWithSeshat +# test_seshat_interface - registerWithSeshat #------------------------------------------------------------------------------- -add_test(NAME test_conn_interface-rws COMMAND ${MEMORY_CHECK} ./test_conn_interface-rws) -add_executable(test_conn_interface-rws test_conn_interface-rws.c - ../src/string_helpers.c - ../src/mutex.c - ../src/time.c - ../src/spin_thread.c - ../src/upstream.c - ../src/conn_interface.c - ../src/thread_tasks.c - ../src/downstream.c - ../src/networking.c - ../src/nopoll_helpers.c - ../src/nopoll_handlers.c - ../src/connection.c - ../src/ParodusInternal.c - ../src/client_list.c - ../src/partners_check.c - ../src/service_alive.c) -target_link_libraries (test_conn_interface-rws -lcmocka -lwrp-c ${PARODUS_COMMON_LIBS}) +add_test(NAME test_seshat_interface COMMAND ${MEMORY_CHECK} ./test_seshat_interface) +if (ENABLE_SESHAT) +set(SOURCES test_seshat_interface.c ../src/seshat_interface.c) +else() +set(SOURCES test_seshat_interface_stub.c ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(test_seshat_interface ${SOURCES}) +target_link_libraries (test_seshat_interface -lcmocka ${PARODUS_COMMON_LIBS} -lwrp-c) if (INTEGRATION_TESTING) #------------------------------------------------------------------------------- # simple_connection test #------------------------------------------------------------------------------- add_test(NAME simple_connection COMMAND ${MEMORY_CHECK} ./simple_connection) -add_executable(simple_connection simple_connection.c ${PARODUS_COMMON_SRC} - ../src/upstream.c - ../src/conn_interface.c - ../src/thread_tasks.c - ../src/downstream.c - ../src/networking.c - ../src/nopoll_helpers.c - ../src/nopoll_handlers.c - ../src/connection.c - #../src/token.c - ../src/ParodusInternal.c - ../src/client_list.c - ../src/partners_check.c - ../src/service_alive.c) +set(SOURCES simple_connection.c ${PARODUS_COMMON_SRC} ../src/upstream.c ../src/conn_interface.c + ../src/thread_tasks.c ../src/downstream.c ../src/networking.c ../src/nopoll_helpers.c ../src/nopoll_handlers.c ../src/connection.c ../src/ParodusInternal.c ../src/client_list.c ../src/partners_check.c ../src/service_alive.c) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} ../src/seshat_interface.c) +else() +set(SOURCES ${SOURCES} ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(simple_connection ${SOURCES}) target_link_libraries (simple_connection ${PARODUS_CONN_LIBS} ${PARODUS_COMMON_LIBS} ) #------------------------------------------------------------------------------- # simple test #------------------------------------------------------------------------------- add_test(NAME simple COMMAND ${MEMORY_CHECK} ./simple) -add_executable(simple simple.c - ../src/upstream.c - ../src/conn_interface.c - ../src/downstream.c - ../src/thread_tasks.c - ../src/networking.c - ../src/nopoll_helpers.c - ../src/nopoll_handlers.c - ../src/string_helpers.c - ../src/mutex.c - ../src/time.c - ../src/config.c - ../src/connection.c - #../src/token.c - ../src/ParodusInternal.c - ../src/spin_thread.c - ../src/client_list.c - ../src/partners_check.c - ../src/service_alive.c) +set(SOURCES simple.c ../src/upstream.c ../src/conn_interface.c ../src/downstream.c ../src/thread_tasks.c ../src/networking.c ../src/nopoll_helpers.c ../src/nopoll_handlers.c ../src/string_helpers.c ../src/mutex.c ../src/time.c + ../src/config.c ../src/connection.c ../src/ParodusInternal.c ../src/spin_thread.c ../src/client_list.c ../src/partners_check.c ../src/service_alive.c) +if (ENABLE_SESHAT) +set(SOURCES ${SOURCES} ../src/seshat_interface.c) +else() +set(SOURCES ${SOURCES} ../src/seshat_interface_stub.c) +endif (ENABLE_SESHAT) +add_executable(simple ${SOURCES}) target_link_libraries (simple ${PARODUS_CONN_LIBS} ${PARODUS_COMMON_LIBS} gcov -lnopoll -lnanomsg ) endif (INTEGRATION_TESTING) diff --git a/tests/test_conn_interface-rws.c b/tests/test_seshat_interface.c similarity index 98% rename from tests/test_conn_interface-rws.c rename to tests/test_seshat_interface.c index 1dd3a4d..5f430c1 100644 --- a/tests/test_conn_interface-rws.c +++ b/tests/test_seshat_interface.c @@ -24,8 +24,7 @@ #include #include "../src/ParodusInternal.h" -#include "../src/conn_interface.h" -#include "../src/connection.h" +#include "../src/seshat_interface.h" #include "../src/config.h" /*----------------------------------------------------------------------------*/ @@ -37,7 +36,6 @@ /*----------------------------------------------------------------------------*/ /* Function Prototypes */ /*----------------------------------------------------------------------------*/ -extern bool __registerWithSeshat(void); /*----------------------------------------------------------------------------*/ /* File Scoped Variables */ diff --git a/tests/test_seshat_interface_stub.c b/tests/test_seshat_interface_stub.c new file mode 100644 index 0000000..58dade4 --- /dev/null +++ b/tests/test_seshat_interface_stub.c @@ -0,0 +1,61 @@ +/** + * Copyright 2010-2016 Comcast Cable Communications Management, LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include + +#include +#include +#include +#include +#include +#include + +#include "../src/seshat_interface.h" + +/*----------------------------------------------------------------------------*/ +/* Macros */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Function Prototypes */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* File Scoped Variables */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Mocks */ +/*----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ +/* Tests */ +/*----------------------------------------------------------------------------*/ +void test_registration() +{ + assert_true(__registerWithSeshat()); +} + +/*----------------------------------------------------------------------------*/ +/* External Functions */ +/*----------------------------------------------------------------------------*/ +int main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_registration), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +}