Add CI autotest and Fix compile warning

This commit is contained in:
luwenpeng
2022-08-05 10:45:28 +08:00
parent 209d7ea7cd
commit 8c85079603
24 changed files with 654 additions and 174 deletions

View File

@@ -4,7 +4,7 @@ add_executable(gtest_packet_io
target_link_libraries(
gtest_packet_io
gtest_main
gtest
packet_io
)

View File

@@ -217,7 +217,7 @@ static int plugin_manager_init_plugins(struct plugin_manager *plug_mgr)
return -1;
}
double percentage = ((double)(i + 1)) / ((double)plug_mgr->used_module_num) * ((double)100);
plugin_manager_log(INFO, "Plugin initialization progress: [%.2f%]", percentage);
plugin_manager_log(INFO, "Plugin initialization progress: [%.2f%%]", percentage);
}
return 0;
@@ -419,7 +419,7 @@ void plugin_manager_dispatch(struct plugin_manager *plug_mgr, struct stellar_eve
plug_ctx = plugin_manager_create_plugin_ctx(plug_mgr, session_name);
if (plug_ctx == NULL)
{
plugin_manager_log(ERROR, "can't create runtime plugin ctx for session '%s', Please check whether the callback is registered in the current session");
plugin_manager_log(ERROR, "can't create runtime plugin ctx for session '%s', Please check whether the callback is registered in the current session", session_name);
return;
}
stellar_event_set_plugin_ctx(event, plug_ctx);

View File

@@ -139,7 +139,7 @@ int plugin_manager_module_init(struct plugin_manager_module *module)
return -1;
}
long elapsed = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_nsec - start.tv_nsec) / 1000;
long long elapsed = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_nsec - start.tv_nsec) / 1000;
plugin_manager_log(INFO, "plugin dynamic library '%s' init success, using '%lld' us", module->lib_path, elapsed);
return 0;
@@ -157,7 +157,7 @@ void plugin_manager_module_exit(struct plugin_manager_module *module)
clock_gettime(CLOCK_MONOTONIC, &end);
module->exit_cb_ptr = NULL;
long elapsed = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_nsec - start.tv_nsec) / 1000;
long long elapsed = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_nsec - start.tv_nsec) / 1000;
plugin_manager_log(INFO, "plugin dynamic library '%s' exit success, using '%lld' us", module->lib_path, elapsed);
}
}

View File

@@ -4,7 +4,7 @@ add_executable(gtest_plugin_manager
target_link_libraries(
gtest_plugin_manager
gtest_main
gtest
plugin_manager
session_manager
toml

View File

@@ -184,7 +184,7 @@ TEST(PLUGIN_MANAGER_TEST, plugin_mangager_config_CUSTOM)
EXPECT_STREQ(config->session_section[2].session_name, "CUSTOM");
EXPECT_STREQ(config->session_section[2].cb_func_name, "custom_event_plugin_custom_entry");
EXPECT_TRUE(config->session_section[2].event == (0x01 << 1) | (0x01 << 3) | (0x01 << 5));
EXPECT_TRUE(config->session_section[2].event == (enum session_event_type)((0x01 << 1) | (0x01 << 3) | (0x01 << 5)));
plugin_mangager_config_dump(config);
plugin_mangager_config_destory(config);
@@ -377,28 +377,28 @@ TEST(PLUGIN_MANAGER_TEST, plugin_manager_dispatch_TCP)
plugin_manager_dispatch(plug_mgr, &event);
pme = (struct tcp_session_pme *)pm_session_get_plugin_pme(&session);
EXPECT_TRUE(pme->flags == SESSION_EVENT_OPENING);
EXPECT_STREQ(pme->data, "tcp***");
EXPECT_STREQ(pme->data, "custom_event_plugin_tcp_entry");
// run evencb
event_data.type = SESSION_EVENT_RAWPKT;
plugin_manager_dispatch(plug_mgr, &event);
pme = (struct tcp_session_pme *)pm_session_get_plugin_pme(&session);
EXPECT_TRUE(pme->flags == SESSION_EVENT_RAWPKT);
EXPECT_STREQ(pme->data, "tcp***");
EXPECT_STREQ(pme->data, "custom_event_plugin_tcp_entry");
// run evencb
event_data.type = SESSION_EVENT_ORDPKT;
plugin_manager_dispatch(plug_mgr, &event);
pme = (struct tcp_session_pme *)pm_session_get_plugin_pme(&session);
EXPECT_TRUE(pme->flags == SESSION_EVENT_ORDPKT);
EXPECT_STREQ(pme->data, "tcp***");
EXPECT_STREQ(pme->data, "custom_event_plugin_tcp_entry");
// run evencb
event_data.type = SESSION_EVENT_META;
plugin_manager_dispatch(plug_mgr, &event);
pme = (struct tcp_session_pme *)pm_session_get_plugin_pme(&session);
EXPECT_TRUE(pme->flags == SESSION_EVENT_META);
EXPECT_STREQ(pme->data, "tcp***");
EXPECT_STREQ(pme->data, "custom_event_plugin_tcp_entry");
// run evencb
event_data.type = SESSION_EVENT_CLOSING;

View File

@@ -112,7 +112,7 @@ extern "C" void custom_event_plugin_tcp_entry(const struct stellar_session *sess
if (*per_tcp_session_pme == NULL)
{
struct tcp_session_pme *cur_ctx = tcp_session_pme_create();
memcpy(cur_ctx->data, "tcp***", 6);
memcpy(cur_ctx->data, "custom_event_plugin_tcp_entry", strlen("custom_event_plugin_tcp_entry"));
cur_ctx->flags = SESSION_EVENT_OPENING;
*per_tcp_session_pme = *&cur_ctx;
}

View File

@@ -1,8 +1,10 @@
#include <stddef.h>
#include "sdk/include/session.h"
void http_decoder(const struct stellar_session *s, enum session_event_type event, struct stellar_packet *p, const char *payload, uint16_t len, void **pme)
{
struct stellar_session_event_extras *info;
struct stellar_session_event_extras *info = NULL;
struct stellar_session *new_session = session_manager_session_derive(s, "HTTP");
session_manager_trigger_event(new_session, SESSION_EVENT_OPENING, info);