mirror of
https://github.com/outbackdingo/parodus.git
synced 2026-01-27 18:20:04 +00:00
Compare commits
1 Commits
1.1.2
...
nopoll_pol
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb11068e25 |
@@ -14,9 +14,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
- requestNewAuthToken will clear the token if it fails.
|
||||
- request auth token on every retry, not just after 403
|
||||
- update to use nopoll v 1.0.2
|
||||
- Add pause/resume heartBeatTimer
|
||||
- parodus event handler to listen to interface_down and interface_up event
|
||||
- Pause connection retry during interface_down event
|
||||
|
||||
## [1.0.2] - 2019-02-08
|
||||
- Refactored connection.c and updated corresponding unit tests
|
||||
|
||||
@@ -84,8 +84,8 @@ add_dependencies(libtrower-base64 trower-base64)
|
||||
#-------------------------------------------------------------------------------
|
||||
ExternalProject_Add(nopoll
|
||||
PREFIX ${PREFIX_DIR}/nopoll
|
||||
GIT_REPOSITORY https://github.com/Comcast/nopoll.git
|
||||
GIT_TAG "1.0.2"
|
||||
GIT_REPOSITORY https://github.com/bill1600/nopoll.git
|
||||
GIT_TAG "nopoll_poll"
|
||||
CONFIGURE_COMMAND COMMAND <SOURCE_DIR>/autogen.sh --prefix=${PREFIX}
|
||||
--includedir=${INCLUDE_DIR}
|
||||
--libdir=${LIBRARY_DIR}
|
||||
@@ -152,7 +152,7 @@ add_dependencies(libcurl curl)
|
||||
ExternalProject_Add(cimplog
|
||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/_prefix/cimplog
|
||||
GIT_REPOSITORY https://github.com/Comcast/cimplog.git
|
||||
GIT_TAG "1.0.2"
|
||||
GIT_TAG "1.0.1"
|
||||
CMAKE_ARGS += -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DBUILD_TESTING=OFF
|
||||
)
|
||||
add_library(libcimplog STATIC SHARED IMPORTED)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# parodus
|
||||
|
||||
[](https://travis-ci.org/xmidt-org/parodus)
|
||||
[](https://travis-ci.org/Comcast/parodus)
|
||||
[](http://codecov.io/github/Comcast/parodus?branch=master)
|
||||
[](https://scan.coverity.com/projects/comcast-parodus)
|
||||
[](https://github.com/Comcast/parodus/blob/master/LICENSE)
|
||||
|
||||
@@ -25,11 +25,6 @@
|
||||
#include "config.h"
|
||||
#include "connection.h"
|
||||
|
||||
bool interface_down_event = false;
|
||||
|
||||
pthread_mutex_t interface_down_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_cond_t interface_down_con=PTHREAD_COND_INITIALIZER;
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* External Functions */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@@ -144,47 +139,3 @@ void timespec_diff(struct timespec *start, struct timespec *stop,
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
/* For interface_down_event Flag */
|
||||
/*------------------------------------------------------------------------------*/
|
||||
|
||||
// Get value of interface_down_event
|
||||
bool get_interface_down_event()
|
||||
{
|
||||
bool tmp = false;
|
||||
pthread_mutex_lock (&interface_down_mut);
|
||||
tmp = interface_down_event;
|
||||
pthread_mutex_unlock (&interface_down_mut);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// Reset value of interface_down_event to false
|
||||
void reset_interface_down_event()
|
||||
{
|
||||
pthread_mutex_lock (&interface_down_mut);
|
||||
interface_down_event = false;
|
||||
pthread_cond_signal(&interface_down_con);
|
||||
pthread_mutex_unlock (&interface_down_mut);
|
||||
}
|
||||
|
||||
// set value of interface_down_event to true
|
||||
void set_interface_down_event()
|
||||
{
|
||||
pthread_mutex_lock (&interface_down_mut);
|
||||
interface_down_event = true;
|
||||
pthread_mutex_unlock (&interface_down_mut);
|
||||
}
|
||||
|
||||
pthread_cond_t *get_interface_down_con(void)
|
||||
{
|
||||
return &interface_down_con;
|
||||
}
|
||||
|
||||
pthread_mutex_t *get_interface_down_mut(void)
|
||||
{
|
||||
return &interface_down_mut;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -157,25 +157,6 @@ void addCRUDmsgToQueue(wrp_msg_t *crudMsg);
|
||||
void timespec_diff(struct timespec *start, struct timespec *stop,
|
||||
struct timespec *result);
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
/* For interface_down_event Flag */
|
||||
/*------------------------------------------------------------------------------*/
|
||||
|
||||
// Get value of interface_down_event
|
||||
bool get_interface_down_event();
|
||||
|
||||
// Reset value of interface_down_event to false
|
||||
void reset_interface_down_event();
|
||||
|
||||
// Set value of interface_down_event to true
|
||||
void set_interface_down_event();
|
||||
|
||||
pthread_cond_t *get_interface_down_con();
|
||||
|
||||
pthread_mutex_t *get_interface_down_mut();
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -435,7 +435,6 @@ int parseCommandLine(int argc,char **argv,ParodusCfg * cfg)
|
||||
case 'r':
|
||||
parStrncpy(cfg->hw_last_reboot_reason, optarg,sizeof(cfg->hw_last_reboot_reason));
|
||||
ParodusInfo("hw_last_reboot_reason is %s\n",cfg->hw_last_reboot_reason);
|
||||
OnboardLog("Last reboot reason is %s\n",cfg->hw_last_reboot_reason);
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
|
||||
@@ -101,7 +101,6 @@ void createSocketConnection(void (* initKeypress)())
|
||||
if(!create_conn_rtn)
|
||||
{
|
||||
ParodusError("Unrecovered error, terminating the process\n");
|
||||
OnboardLog("Unrecovered error, terminating the process\n");
|
||||
abort();
|
||||
}
|
||||
packMetaData();
|
||||
@@ -145,14 +144,8 @@ void createSocketConnection(void (* initKeypress)())
|
||||
{
|
||||
ParodusError("ping wait time > %d . Terminating the connection with WebPA server and retrying\n", webpa_ping_timeout_ms / 1000);
|
||||
ParodusInfo("Reconnect detected, setting Ping_Miss reason for Reconnect\n");
|
||||
OnboardLog("Reconnect detected, setting Ping_Miss reason for Reconnect\n");
|
||||
set_global_reconnect_reason("Ping_Miss");
|
||||
set_global_reconnect_status(true);
|
||||
// Invoke the ping status change event callback as "missed" ping
|
||||
if(NULL != on_ping_status_change)
|
||||
{
|
||||
on_ping_status_change("missed");
|
||||
}
|
||||
set_close_retry();
|
||||
}
|
||||
else
|
||||
@@ -175,6 +168,8 @@ void createSocketConnection(void (* initKeypress)())
|
||||
close_and_unref_connection(get_global_conn());
|
||||
set_global_conn(NULL);
|
||||
|
||||
get_parodus_cfg()->cloud_status = CLOUD_STATUS_OFFLINE;
|
||||
ParodusInfo("cloud_status set as %s after connection close\n", get_parodus_cfg()->cloud_status);
|
||||
if(get_parodus_cfg()->cloud_disconnect !=NULL)
|
||||
{
|
||||
ParodusPrint("get_parodus_cfg()->cloud_disconnect is %s\n", get_parodus_cfg()->cloud_disconnect);
|
||||
|
||||
@@ -214,13 +214,6 @@ int update_backoff_delay (backoff_timer_t *timer)
|
||||
static void backoff_delay (backoff_timer_t *timer)
|
||||
{
|
||||
update_backoff_delay (timer);
|
||||
|
||||
// Update retry time for conn progress
|
||||
if(timer->count == timer->max_count)
|
||||
{
|
||||
start_conn_in_progress();
|
||||
}
|
||||
|
||||
ParodusInfo("Waiting with backoffRetryTime %d seconds\n", timer->delay);
|
||||
sleep (timer->delay);
|
||||
}
|
||||
@@ -398,10 +391,8 @@ int nopoll_connect (create_connection_ctx_t *ctx, int is_ipv6)
|
||||
}
|
||||
if ((NULL == connection) && (!is_ipv6)) {
|
||||
if((checkHostIp(server->server_addr) == -2)) {
|
||||
if (check_timer_expired (&ctx->connect_timer, 15*60*1000) && !get_interface_down_event()) {
|
||||
if (check_timer_expired (&ctx->connect_timer, 15*60*1000)) {
|
||||
ParodusError("WebPA unable to connect due to DNS resolving to 10.0.0.1 for over 15 minutes; crashing service.\n");
|
||||
OnboardLog("WebPA unable to connect due to DNS resolving to 10.0.0.1 for over 15 minutes; crashing service.\n");
|
||||
OnboardLog("Reconnect detected, setting Dns_Res_webpa_reconnect reason for Reconnect\n");
|
||||
set_global_reconnect_reason("Dns_Res_webpa_reconnect");
|
||||
set_global_reconnect_status(true);
|
||||
|
||||
@@ -424,7 +415,7 @@ int nopoll_connect (create_connection_ctx_t *ctx, int is_ipv6)
|
||||
|
||||
int wait_connection_ready (create_connection_ctx_t *ctx)
|
||||
{
|
||||
int wait_status = 0;
|
||||
int wait_status;
|
||||
char *redirectURL = NULL;
|
||||
|
||||
if(nopoll_conn_wait_for_status_until_connection_ready(get_global_conn(), 10,
|
||||
@@ -457,7 +448,6 @@ int wait_connection_ready (create_connection_ctx_t *ctx)
|
||||
/* clear auth token in cfg so that we will refetch auth token */
|
||||
memset (cfg->webpa_auth_token, 0, sizeof(cfg->webpa_auth_token));
|
||||
ParodusError("Received Unauthorized response with status: %d\n", wait_status);
|
||||
OnboardLog("Received Unauthorized response with status: %d\n", wait_status);
|
||||
return WAIT_ACTION_RETRY;
|
||||
}
|
||||
ParodusError("Client connection timeout\n");
|
||||
@@ -587,41 +577,20 @@ int createNopollConnection(noPollCtx *ctx)
|
||||
if (keep_trying_to_connect (&conn_ctx, &backoff_timer))
|
||||
break;
|
||||
// retry dns query
|
||||
|
||||
// If interface down event is set, stop retry
|
||||
// and wait till interface is up again.
|
||||
if(get_interface_down_event()) {
|
||||
ParodusError("Interface is down, hence pausing retry and waiting until its up\n");
|
||||
pthread_mutex_lock(get_interface_down_mut());
|
||||
pthread_cond_wait(get_interface_down_con(), get_interface_down_mut());
|
||||
pthread_mutex_unlock (get_interface_down_mut());
|
||||
ParodusInfo("Interface is back up, re-initializing the convey header\n");
|
||||
// Reset the reconnect reason by initializing the convey header again
|
||||
((header_info_t *)(&conn_ctx.header_info))->conveyHeader = getWebpaConveyHeader();
|
||||
ParodusInfo("Received reconnect_reason as:%s\n", reconnect_reason);
|
||||
}
|
||||
}
|
||||
|
||||
if(conn_ctx.current_server->allow_insecure <= 0)
|
||||
{
|
||||
ParodusInfo("Connected to server over SSL\n");
|
||||
OnboardLog("Connected to server over SSL\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
ParodusInfo("Connected to server\n");
|
||||
OnboardLog("Connected to server\n");
|
||||
}
|
||||
|
||||
get_parodus_cfg()->cloud_status = CLOUD_STATUS_ONLINE;
|
||||
ParodusInfo("cloud_status set as %s after successful connection\n", get_parodus_cfg()->cloud_status);
|
||||
|
||||
// Invoke the ping status change event callback as "received" ping
|
||||
if(NULL != on_ping_status_change)
|
||||
{
|
||||
on_ping_status_change("received");
|
||||
}
|
||||
|
||||
if((get_parodus_cfg()->boot_time != 0) && init) {
|
||||
getCurrentTime(connectTimePtr);
|
||||
ParodusInfo("connect_time-diff-boot_time=%d\n", connectTimePtr->tv_sec - get_parodus_cfg()->boot_time);
|
||||
@@ -695,9 +664,9 @@ void close_and_unref_connection(noPollConn *conn)
|
||||
{
|
||||
if (conn) {
|
||||
nopoll_conn_close(conn);
|
||||
|
||||
get_parodus_cfg()->cloud_status = CLOUD_STATUS_OFFLINE;
|
||||
ParodusInfo("cloud_status set as %s after connection close\n", get_parodus_cfg()->cloud_status);
|
||||
if (0 < nopoll_conn_ref_count (conn)) {
|
||||
nopoll_conn_unref(conn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -736,9 +705,3 @@ void stop_conn_in_progress (void)
|
||||
write_conn_in_prog_file ("STOP");
|
||||
}
|
||||
|
||||
|
||||
void registerParodusOnPingStatusChangeHandler(parodusOnPingStatusChangeHandler callback_func)
|
||||
{
|
||||
on_ping_status_change = callback_func;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,14 +34,6 @@ extern "C" {
|
||||
/* File Scoped Variables */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* parodusOnPingStatusChangeHandler - Function pointer
|
||||
* Used to define callback function to do additional processing
|
||||
* when websocket Ping status change event
|
||||
* i.e. ping_miss or ping receive after miss
|
||||
*/
|
||||
typedef void (*parodusOnPingStatusChangeHandler) (char * status);
|
||||
parodusOnPingStatusChangeHandler on_ping_status_change;
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Function Prototypes */
|
||||
@@ -72,9 +64,6 @@ void set_cloud_disconnect_time(int disconnTime);
|
||||
void start_conn_in_progress (void);
|
||||
void stop_conn_in_progress (void);
|
||||
|
||||
// To Register parodusOnPingStatusChangeHandler Callback function
|
||||
void registerParodusOnPingStatusChangeHandler(parodusOnPingStatusChangeHandler on_ping_status_change);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1346,7 +1346,6 @@ static int ConnDisconnectFromCloud(char *disconn_reason)
|
||||
if(!close_retry)
|
||||
{
|
||||
ParodusInfo("Reconnect detected, setting reason %s for Reconnect\n", disconn_reason);
|
||||
OnboardLog("Reconnect detected, setting reason %s for Reconnect\n", disconn_reason);
|
||||
set_global_reconnect_reason(disconn_reason);
|
||||
set_global_reconnect_status(true);
|
||||
set_close_retry();
|
||||
|
||||
@@ -121,9 +121,6 @@ void listenerOnMessage(void * msg, size_t msgSize)
|
||||
ParodusInfo("Received downstream dest as :%s and transaction_uuid :%s\n", dest,
|
||||
((WRP_MSG_TYPE__REQ == msgType) ? message->u.req.transaction_uuid :
|
||||
((WRP_MSG_TYPE__EVENT == msgType) ? "NA" : message->u.crud.transaction_uuid)));
|
||||
OnboardLog("%s\n",
|
||||
((WRP_MSG_TYPE__REQ == msgType) ? message->u.req.transaction_uuid :
|
||||
((WRP_MSG_TYPE__EVENT == msgType) ? "NA" : message->u.crud.transaction_uuid)));
|
||||
|
||||
free(destVal);
|
||||
|
||||
|
||||
@@ -22,10 +22,8 @@
|
||||
*/
|
||||
|
||||
#include "heartBeat.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
volatile unsigned int heartBeatTimer = 0;
|
||||
volatile bool paused = false;
|
||||
|
||||
pthread_mutex_t heartBeat_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
@@ -51,27 +49,8 @@ void reset_heartBeatTimer()
|
||||
void increment_heartBeatTimer(unsigned int inc_time_ms)
|
||||
{
|
||||
pthread_mutex_lock (&heartBeat_mut);
|
||||
if (!paused)
|
||||
heartBeatTimer += inc_time_ms;
|
||||
pthread_mutex_unlock (&heartBeat_mut);
|
||||
}
|
||||
|
||||
// Pause heartBeatTimer, i.e. stop incrementing
|
||||
void pause_heartBeatTimer()
|
||||
{
|
||||
pthread_mutex_lock (&heartBeat_mut);
|
||||
heartBeatTimer = 0;
|
||||
paused = true;
|
||||
pthread_mutex_unlock (&heartBeat_mut);
|
||||
}
|
||||
|
||||
// Resume heartBeatTimer, i.e. resume incrementing
|
||||
void resume_heartBeatTimer()
|
||||
{
|
||||
pthread_mutex_lock (&heartBeat_mut);
|
||||
paused = false;
|
||||
heartBeatTimer += inc_time_ms;
|
||||
pthread_mutex_unlock (&heartBeat_mut);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -39,12 +39,6 @@ void reset_heartBeatTimer();
|
||||
// Increment value of heartBeatTimer to desired value
|
||||
void increment_heartBeatTimer(unsigned int inc_time_ms);
|
||||
|
||||
// Pause heartBeatTimer, i.e. stop incrementing
|
||||
void pause_heartBeatTimer();
|
||||
|
||||
// Resume heartBeatTimer, i.e. resume incrementing
|
||||
void resume_heartBeatTimer();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -70,7 +70,6 @@ int checkHostIp(char * serverIP)
|
||||
if (retVal != 0)
|
||||
{
|
||||
ParodusError("getaddrinfo: %s\n", gai_strerror(retVal));
|
||||
OnboardLog("getaddrinfo: %s\n", gai_strerror(retVal));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -167,25 +167,16 @@ void listenerOnCloseMessage (noPollCtx * ctx, noPollConn * conn, noPollPtr user_
|
||||
if( closeStatus == 1006 && !get_global_reconnect_status())
|
||||
{
|
||||
ParodusInfo("Reconnect detected, setting default Reconnect reason %s\n",defaultReason);
|
||||
OnboardLog("Reconnect detected, setting default Reconnect reason %s\n",defaultReason);
|
||||
set_global_reconnect_reason(defaultReason);
|
||||
set_global_reconnect_status(true);
|
||||
}
|
||||
else if(!get_global_reconnect_status())
|
||||
{
|
||||
ParodusInfo("Reconnect detected, setting Reconnect reason as Unknown\n");
|
||||
OnboardLog("Reconnect detected, setting Reconnect reason as Unknown\n");
|
||||
set_global_reconnect_reason("Unknown");
|
||||
}
|
||||
|
||||
if(!get_interface_down_event())
|
||||
{
|
||||
ParodusInfo("Setting the close and retry connection\n");
|
||||
set_close_retry();
|
||||
}
|
||||
else
|
||||
ParodusInfo("Not Setting the close and retry connection as interface is down\n");
|
||||
|
||||
set_close_retry();
|
||||
ParodusPrint("listenerOnCloseMessage(): mutex unlock in producer thread\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -73,35 +73,25 @@ void sendMessage(noPollConn *conn, void *msg, size_t len)
|
||||
else
|
||||
{
|
||||
ParodusError("Failed to send msg upstream as connection is not OK\n");
|
||||
OnboardLog("Failed to send msg upstream as connection is not OK\n");
|
||||
if (connErr == 0)
|
||||
{
|
||||
getCurrentTime(connStuck_startPtr);
|
||||
ParodusInfo("Conn got stuck, initialized the first timer\n");
|
||||
connErr = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
getCurrentTime(connStuck_endPtr);
|
||||
timeDiff = timeValDiff(connStuck_startPtr, connStuck_endPtr);
|
||||
ParodusPrint("checking timeout difference:%ld\n", timeDiff);
|
||||
|
||||
if(get_interface_down_event())
|
||||
{
|
||||
ParodusError("Unable to connect to server since interface is down\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (connErr == 0)
|
||||
if( timeDiff >= (10*60*1000))
|
||||
{
|
||||
getCurrentTime(connStuck_startPtr);
|
||||
ParodusInfo("Conn got stuck, initialized the first timer\n");
|
||||
connErr = 1;
|
||||
ParodusError("conn got stuck for over 10 minutes; crashing service.\n");
|
||||
kill(getpid(),SIGTERM);
|
||||
}
|
||||
else
|
||||
{
|
||||
getCurrentTime(connStuck_endPtr);
|
||||
timeDiff = timeValDiff(connStuck_startPtr, connStuck_endPtr);
|
||||
ParodusPrint("checking timeout difference:%ld\n", timeDiff);
|
||||
|
||||
if( timeDiff >= (10*60*1000))
|
||||
{
|
||||
ParodusError("conn got stuck for over 10 minutes; crashing service.\n");
|
||||
OnboardLog("conn got stuck for over 10 minutes; crashing service.\n");
|
||||
kill(getpid(),SIGTERM);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,7 +149,6 @@ void __report_log (noPollCtx * ctx, noPollDebugLevel level, const char * log_msg
|
||||
if (level == NOPOLL_LEVEL_CRITICAL)
|
||||
{
|
||||
ParodusError("%s\n", log_msg );
|
||||
OnboardLog("%s\n", log_msg );
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -33,9 +33,3 @@
|
||||
#define ParodusError(...) cimplog_error(LOGGING_MODULE, __VA_ARGS__)
|
||||
#define ParodusInfo(...) cimplog_info(LOGGING_MODULE, __VA_ARGS__)
|
||||
#define ParodusPrint(...) cimplog_debug(LOGGING_MODULE, __VA_ARGS__)
|
||||
#ifdef FEATURE_SUPPORT_ONBOARD_LOGGING
|
||||
#define OnboardLog(...) onboarding_log(LOGGING_MODULE, __VA_ARGS__)
|
||||
#else
|
||||
#define OnboardLog(...)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -178,7 +178,6 @@ int validate_partner_id(wrp_msg_t *msg, partners_t **partnerIds)
|
||||
if(matchFlag != 1)
|
||||
{
|
||||
ParodusError("Invalid partner_id %s\n",temp);
|
||||
OnboardLog("Invalid partner_id %s\n",temp);
|
||||
if(partnersList != NULL)
|
||||
{
|
||||
for(j=0; j<partnersList->count; j++)
|
||||
|
||||
@@ -139,7 +139,6 @@ int analyze_jwt (const cjwt_t *jwt, char **url_buf, unsigned int *port)
|
||||
show_times (exp_time, cur_time);
|
||||
if (exp_time < cur_time) {
|
||||
ParodusError ("JWT has expired\n");
|
||||
OnboardLog ("JWT has expired\n");
|
||||
return TOKEN_ERR_JWT_EXPIRED;
|
||||
}
|
||||
}
|
||||
@@ -147,7 +146,6 @@ int analyze_jwt (const cjwt_t *jwt, char **url_buf, unsigned int *port)
|
||||
url_buf, port);
|
||||
if (http_match < 0) {
|
||||
ParodusError ("Invalid endpoint claim in JWT\n");
|
||||
OnboardLog("Invalid endpoint claim in JWT\n");
|
||||
return TOKEN_ERR_BAD_ENDPOINT;
|
||||
}
|
||||
ParodusInfo ("JWT is_http strncmp: %d\n", http_match);
|
||||
|
||||
@@ -589,7 +589,6 @@ void sendUpstreamMsgToServer(void **resp_bytes, size_t resp_size)
|
||||
else
|
||||
{
|
||||
ParodusInfo("close_retry is %d, unable to send response as connection retry is in progress\n", close_retry);
|
||||
OnboardLog("close_retry is %d, unable to send response as connection retry is in progress\n", close_retry);
|
||||
}
|
||||
free(appendData);
|
||||
appendData =NULL;
|
||||
|
||||
@@ -309,6 +309,7 @@ void test_createSocketConnection1()
|
||||
expect_function_call(nopoll_ctx_unref);
|
||||
expect_function_call(nopoll_cleanup_library);
|
||||
createSocketConnection(NULL);
|
||||
assert_string_equal(get_parodus_cfg()->cloud_status, CLOUD_STATUS_OFFLINE);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <assert.h>
|
||||
#include <CUnit/Basic.h>
|
||||
#include <nopoll.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "../src/ParodusInternal.h"
|
||||
#include "../src/connection.h"
|
||||
@@ -61,10 +60,7 @@ extern int keep_trying_to_connect (create_connection_ctx_t *ctx,
|
||||
|
||||
bool close_retry;
|
||||
bool LastReasonStatus;
|
||||
bool interface_down_event = false;
|
||||
pthread_mutex_t close_mut;
|
||||
pthread_mutex_t interface_down_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_cond_t interface_down_con=PTHREAD_COND_INITIALIZER;
|
||||
pthread_mutex_t close_mut;
|
||||
|
||||
// Mock values
|
||||
bool g_shutdown = false;
|
||||
@@ -84,35 +80,6 @@ char* getWebpaConveyHeader()
|
||||
return (char*) "WebPA-1.6 (TG1682)";
|
||||
}
|
||||
|
||||
|
||||
void set_interface_down_event()
|
||||
{
|
||||
interface_down_event = true;
|
||||
}
|
||||
|
||||
void reset_interface_down_event()
|
||||
{
|
||||
pthread_mutex_lock (&interface_down_mut);
|
||||
interface_down_event = false;
|
||||
pthread_cond_signal(&interface_down_con);
|
||||
pthread_mutex_unlock (&interface_down_mut);
|
||||
}
|
||||
|
||||
bool get_interface_down_event()
|
||||
{
|
||||
return interface_down_event;
|
||||
}
|
||||
|
||||
pthread_cond_t *get_interface_down_con(void)
|
||||
{
|
||||
return &interface_down_con;
|
||||
}
|
||||
|
||||
pthread_mutex_t *get_interface_down_mut(void)
|
||||
{
|
||||
return &interface_down_mut;
|
||||
}
|
||||
|
||||
noPollConn * nopoll_conn_new_opts (noPollCtx * ctx, noPollConnOpts * opts, const char * host_ip, const char * host_port, const char * host_name,const char * get_url,const char * protocols, const char * origin)
|
||||
{
|
||||
UNUSED(host_port); UNUSED(host_name); UNUSED(get_url); UNUSED(protocols);
|
||||
@@ -181,6 +148,13 @@ void nopoll_conn_close (noPollConn *conn)
|
||||
UNUSED(conn);
|
||||
}
|
||||
|
||||
int nopoll_conn_ref_count (noPollConn *conn)
|
||||
{
|
||||
UNUSED(conn);
|
||||
function_called ();
|
||||
return (nopoll_bool) mock();
|
||||
}
|
||||
|
||||
int checkHostIp(char * serverIP)
|
||||
{
|
||||
UNUSED(serverIP);
|
||||
@@ -226,7 +200,6 @@ int allow_insecure_conn (char **server_addr, unsigned int *port)
|
||||
/* Tests */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
void test_get_global_conn()
|
||||
{
|
||||
assert_null(get_global_conn());
|
||||
@@ -722,6 +695,8 @@ void test_connect_and_wait ()
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
assert_int_equal (connect_and_wait (&ctx), CONN_WAIT_RETRY_DNS);
|
||||
|
||||
Cfg.flags = 0;
|
||||
@@ -731,6 +706,8 @@ void test_connect_and_wait ()
|
||||
expect_function_call (nopoll_conn_new_opts);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
assert_int_equal (connect_and_wait (&ctx), CONN_WAIT_RETRY_DNS);
|
||||
|
||||
will_return (nopoll_conn_new_opts, &connection1);
|
||||
@@ -768,6 +745,8 @@ void test_connect_and_wait ()
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, NULL);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (checkHostIp, 0);
|
||||
@@ -778,6 +757,8 @@ void test_connect_and_wait ()
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
@@ -797,6 +778,8 @@ void test_connect_and_wait ()
|
||||
mock_redirect = "mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
assert_int_equal (connect_and_wait (&ctx), CONN_WAIT_RETRY_DNS);
|
||||
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
@@ -807,6 +790,8 @@ void test_connect_and_wait ()
|
||||
mock_redirect = "https://mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
assert_int_equal (connect_and_wait (&ctx), CONN_WAIT_ACTION_RETRY);
|
||||
}
|
||||
|
||||
@@ -858,6 +843,8 @@ void test_keep_trying ()
|
||||
mock_redirect = "https://mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
@@ -876,12 +863,16 @@ void test_keep_trying ()
|
||||
mock_redirect = "https://mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
init_backoff_timer (&backoff_timer, 5);
|
||||
rtn = keep_trying_to_connect (&ctx, &backoff_timer);
|
||||
assert_int_equal (rtn, false);
|
||||
@@ -904,6 +895,8 @@ void test_keep_trying ()
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
init_backoff_timer (&backoff_timer, 5);
|
||||
rtn = keep_trying_to_connect (&ctx, &backoff_timer);
|
||||
assert_int_equal (rtn, false);
|
||||
@@ -953,6 +946,8 @@ void test_create_nopoll_connection()
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
@@ -966,6 +961,8 @@ void test_create_nopoll_connection()
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
@@ -974,11 +971,15 @@ void test_create_nopoll_connection()
|
||||
mock_redirect = "https://mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
|
||||
will_return (nopoll_conn_tls_new6, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
@@ -1022,6 +1023,8 @@ void test_create_nopoll_connection()
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_ref_count, 0);
|
||||
expect_function_call (nopoll_conn_ref_count);
|
||||
mock_wait_status = 0;
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
@@ -1036,152 +1039,6 @@ void test_create_nopoll_connection()
|
||||
}
|
||||
|
||||
|
||||
void test_get_interface_down_event()
|
||||
{
|
||||
assert_false(get_interface_down_event());
|
||||
set_interface_down_event();
|
||||
}
|
||||
|
||||
void *a()
|
||||
{
|
||||
sleep(15);
|
||||
reset_interface_down_event();
|
||||
pthread_exit(0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void test_interface_down_retry()
|
||||
{
|
||||
int rtn;
|
||||
ParodusCfg cfg;
|
||||
noPollCtx test_nopoll_ctx;
|
||||
pthread_t thread_a;
|
||||
|
||||
pthread_create(&thread_a, NULL, a, NULL);
|
||||
|
||||
memset(&cfg,0,sizeof(cfg));
|
||||
cfg.flags = 0;
|
||||
parStrncpy (cfg.webpa_url, "mydns.mycom.net:8080", sizeof(cfg.webpa_url));
|
||||
cfg.boot_time = 25;
|
||||
parStrncpy (cfg.hw_last_reboot_reason, "Test reason", sizeof(cfg.hw_last_reboot_reason));
|
||||
cfg.webpa_backoff_max = 30;
|
||||
parStrncpy (cfg.webpa_auth_token, "Auth---", sizeof (cfg.webpa_auth_token));
|
||||
parStrncpy(cfg.hw_model, "TG1682", sizeof(cfg.hw_model));
|
||||
parStrncpy(cfg.hw_manufacturer , "ARRISGroup,Inc.", sizeof(cfg.hw_manufacturer));
|
||||
parStrncpy(cfg.hw_mac , "123567892366", sizeof(cfg.hw_mac));
|
||||
parStrncpy(cfg.fw_name , "2.364s2", sizeof(cfg.fw_name));
|
||||
parStrncpy(cfg.webpa_protocol , "WebPA-1.6", sizeof(cfg.webpa_protocol));
|
||||
set_parodus_cfg(&cfg);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_false);
|
||||
|
||||
parStrncpy (cfg.webpa_url, "http://mydns.mycom.net:8080", sizeof(cfg.webpa_url));
|
||||
set_parodus_cfg(&cfg);
|
||||
|
||||
mock_wait_status = 0;
|
||||
|
||||
will_return (nopoll_conn_new_opts, &connection1);
|
||||
expect_function_call (nopoll_conn_new_opts);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_true);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_true);
|
||||
|
||||
parStrncpy (cfg.webpa_url, "https://mydns.mycom.net:8080", sizeof(cfg.webpa_url));
|
||||
cfg.flags = 0;
|
||||
set_parodus_cfg(&cfg);
|
||||
|
||||
will_return (nopoll_conn_tls_new6, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_true);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_true);
|
||||
|
||||
will_return (nopoll_conn_tls_new6, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
mock_wait_status = 302;
|
||||
mock_redirect = "https://mydns.mycom.net";
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_false);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
|
||||
will_return (nopoll_conn_tls_new6, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
mock_wait_status = 0;
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_true);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_true);
|
||||
|
||||
#ifdef FEATURE_DNS_QUERY
|
||||
cfg.acquire_jwt = 1;
|
||||
cfg.flags = FLAGS_IPV4_ONLY;
|
||||
set_parodus_cfg(&cfg);
|
||||
|
||||
will_return (allow_insecure_conn, -1);
|
||||
expect_function_call (allow_insecure_conn);
|
||||
will_return (nopoll_conn_tls_new, NULL);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (checkHostIp, 0);
|
||||
expect_function_call (checkHostIp);
|
||||
mock_server_addr = "mydns.myjwtcom.net";
|
||||
mock_port = 80;
|
||||
will_return (allow_insecure_conn, 0);
|
||||
expect_function_call (allow_insecure_conn);
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_true);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_true);
|
||||
|
||||
cfg.flags = 0;
|
||||
set_parodus_cfg(&cfg);
|
||||
|
||||
will_return (allow_insecure_conn, -1);
|
||||
expect_function_call (allow_insecure_conn);
|
||||
will_return (nopoll_conn_tls_new6, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new6);
|
||||
will_return (nopoll_conn_is_ok, nopoll_false);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
mock_wait_status = 0;
|
||||
will_return (nopoll_conn_tls_new, &connection1);
|
||||
expect_function_call (nopoll_conn_tls_new);
|
||||
will_return (nopoll_conn_is_ok, nopoll_true);
|
||||
expect_function_call (nopoll_conn_is_ok);
|
||||
will_return (nopoll_conn_wait_for_status_until_connection_ready, nopoll_true);
|
||||
expect_function_call (nopoll_conn_wait_for_status_until_connection_ready);
|
||||
rtn = createNopollConnection (&test_nopoll_ctx);
|
||||
assert_int_equal (rtn, nopoll_true);
|
||||
#endif
|
||||
pthread_join(thread_a, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* External Functions */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@@ -1208,9 +1065,7 @@ int main(void)
|
||||
cmocka_unit_test(test_wait_connection_ready),
|
||||
cmocka_unit_test(test_connect_and_wait),
|
||||
cmocka_unit_test(test_keep_trying),
|
||||
cmocka_unit_test(test_create_nopoll_connection),
|
||||
cmocka_unit_test(test_get_interface_down_event),
|
||||
cmocka_unit_test(test_interface_down_retry)
|
||||
cmocka_unit_test(test_create_nopoll_connection)
|
||||
};
|
||||
|
||||
return cmocka_run_group_tests(tests, NULL, NULL);
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include <nopoll_private.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "../src/ParodusInternal.h"
|
||||
#include "../src/nopoll_handlers.h"
|
||||
#include "../src/parodus_log.h"
|
||||
|
||||
@@ -30,11 +29,8 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
volatile unsigned int heartBeatTimer;
|
||||
bool LastReasonStatus;
|
||||
bool interface_down_event = false;
|
||||
int closeReason = 0;
|
||||
pthread_mutex_t close_mut;
|
||||
pthread_mutex_t interface_down_mut=PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_cond_t interface_down_con=PTHREAD_COND_INITIALIZER;
|
||||
pthread_mutex_t close_mut;
|
||||
bool close_retry;
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Mocks */
|
||||
@@ -50,24 +46,6 @@ bool get_global_reconnect_status()
|
||||
return LastReasonStatus;
|
||||
}
|
||||
|
||||
void set_interface_down_event()
|
||||
{
|
||||
interface_down_event = true;
|
||||
}
|
||||
|
||||
void reset_interface_down_event()
|
||||
{
|
||||
pthread_mutex_lock (&interface_down_mut);
|
||||
interface_down_event = false;
|
||||
pthread_cond_signal(&interface_down_con);
|
||||
pthread_mutex_unlock (&interface_down_mut);
|
||||
}
|
||||
|
||||
bool get_interface_down_event()
|
||||
{
|
||||
return interface_down_event;
|
||||
}
|
||||
|
||||
void set_global_reconnect_status(bool status)
|
||||
{
|
||||
(void) status ;
|
||||
@@ -201,30 +179,6 @@ void test_listenerOnPingMessage()
|
||||
listenerOnPingMessage(NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
void test_getInterfaceDownEvent()
|
||||
{
|
||||
set_interface_down_event();
|
||||
CU_ASSERT_TRUE(get_interface_down_event());
|
||||
}
|
||||
|
||||
void test_interfaceDownEvent()
|
||||
{
|
||||
char str[] = "SSL_Socket_Close";
|
||||
set_global_reconnect_status(true);
|
||||
set_interface_down_event();
|
||||
listenerOnCloseMessage(NULL, NULL, (noPollPtr) str);
|
||||
|
||||
}
|
||||
|
||||
void test_noInterfaceDownEvent()
|
||||
{
|
||||
char str[] = "SSL_Socket_Close";
|
||||
set_global_reconnect_status(true);
|
||||
reset_interface_down_event();
|
||||
listenerOnCloseMessage(NULL, NULL, (noPollPtr) str);
|
||||
}
|
||||
|
||||
|
||||
void add_suites( CU_pSuite *suite )
|
||||
{
|
||||
ParodusInfo("--------Start of Test Cases Execution ---------\n");
|
||||
@@ -232,9 +186,6 @@ void add_suites( CU_pSuite *suite )
|
||||
CU_add_test( *suite, "Test 1", test_listenerOnMessage_queue );
|
||||
CU_add_test( *suite, "Test 2", test_listenerOnCloseMessage );
|
||||
CU_add_test( *suite, "Test 3", test_listenerOnPingMessage );
|
||||
CU_add_test( *suite, "Test 4", test_getInterfaceDownEvent );
|
||||
CU_add_test( *suite, "Test 5", test_interfaceDownEvent );
|
||||
CU_add_test( *suite, "Test 6", test_noInterfaceDownEvent );
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
@@ -48,11 +48,6 @@ bool get_global_reconnect_status()
|
||||
return LastReasonStatus;
|
||||
}
|
||||
|
||||
bool get_interface_down_event()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void set_global_reconnect_status(bool status)
|
||||
{
|
||||
(void) status ;
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <nopoll.h>
|
||||
@@ -117,11 +116,6 @@ int kill(pid_t pid, int sig)
|
||||
return (int) mock();
|
||||
}
|
||||
|
||||
bool get_interface_down_event()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Tests */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user