🦄 refactor(infra/log & http test case): mv log to deps/logger

trim http test case cmake
This commit is contained in:
yangwei
2024-08-30 14:49:24 +08:00
parent 5ccd66db73
commit aa5c41e4d7
18 changed files with 35 additions and 41 deletions

View File

@@ -1,6 +1,3 @@
add_definitions(-fPIC)
include_directories(${CMAKE_BINARY_DIR}/vendor/llhttp/include)
include_directories(${CMAKE_BINARY_DIR}/vendor/brotli/include)
include_directories(${CMAKE_SOURCE_DIR}/deps) include_directories(${CMAKE_SOURCE_DIR}/deps)
set(HTTP_SRC http_decoder.cpp http_decoder_utils.cpp http_decoder_half.cpp set(HTTP_SRC http_decoder.cpp http_decoder_utils.cpp http_decoder_half.cpp

3
deps/CMakeLists.txt vendored
View File

@@ -4,4 +4,5 @@ add_subdirectory(toml)
add_subdirectory(rbtree) add_subdirectory(rbtree)
add_subdirectory(interval_tree) add_subdirectory(interval_tree)
add_subdirectory(bitmap) add_subdirectory(bitmap)
add_subdirectory(nmx_pool) add_subdirectory(nmx_pool)
add_subdirectory(logger)

7
deps/logger/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,7 @@
add_library(logger log.c)
target_include_directories(logger PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(logger PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(logger toml)
add_subdirectory(test)

View File

@@ -1,5 +1,6 @@
add_executable(gtest_log gtest_log.cpp) add_executable(gtest_log gtest_log.cpp)
target_link_libraries(gtest_log log gtest) target_link_libraries(gtest_log logger gtest)
target_include_directories(gtest_log PUBLIC ${CMAKE_SOURCE_DIR}/deps/logger)
include(GoogleTest) include(GoogleTest)
gtest_discover_tests(gtest_log) gtest_discover_tests(gtest_log)

View File

@@ -18,13 +18,18 @@ typedef void plugin_on_unload_func(void *plugin_env);
typedef void *session_ctx_new_func(struct session *sess, void *plugin_env); typedef void *session_ctx_new_func(struct session *sess, void *plugin_env);
typedef void session_ctx_free_func(struct session *sess, void *session_ctx, void *plugin_env); typedef void session_ctx_free_func(struct session *sess, void *session_ctx, void *plugin_env);
#define TOPIC_TCP_STREAM "TCP_STREAM" // INTRINSIC TOPIC
#define TOPIC_CONTROL_PACKET "CONTROL_PACKET" // TOPIC_TCP_STREAM on_msg need convert msg to (const struct tcp_segment *)
// TOPIC_UDP_INPUT/TOPIC_TCP_INPUT/TOPIC_UDP_OUTPUT/TOPIC_TCP_OUTPUT/TOPIC_CONTROL_PACKET on_msg need convert msg to (const struct packet *)
#define TOPIC_TCP_STREAM "TCP_STREAM" //topic message: tcp_segment
#define TOPIC_CONTROL_PACKET "CONTROL_PACKET" //topic message: packet
#define TOPIC_TCP_INPUT "TCP_INPUT" #define TOPIC_TCP_INPUT "TCP_INPUT" //topic message: packet
#define TOPIC_TCP_OUTPUT "TCP_OUTPUT" #define TOPIC_TCP_OUTPUT "TCP_OUTPUT" //topic message: packet
#define TOPIC_UDP_INPUT "UDP_INPUT" #define TOPIC_UDP_INPUT "UDP_INPUT" //topic message: packet
#define TOPIC_UDP_OUTPUT "UDP_OUTPUT" #define TOPIC_UDP_OUTPUT "UDP_OUTPUT" //topic message: packet
//return session plugin_id //return session plugin_id
int stellar_session_plugin_register(struct stellar *st, int stellar_session_plugin_register(struct stellar *st,
@@ -34,12 +39,10 @@ int stellar_session_plugin_register(struct stellar *st,
void stellar_session_plugin_dettach_current_session(struct session *sess); void stellar_session_plugin_dettach_current_session(struct session *sess);
// TOPIC_TCP_STREAM return msg need convert to (const struct tcp_segment *)
struct tcp_segment; struct tcp_segment;
const char *tcp_segment_get_data(const struct tcp_segment *seg); const char *tcp_segment_get_data(const struct tcp_segment *seg);
uint16_t tcp_segment_get_len(const struct tcp_segment *seg); uint16_t tcp_segment_get_len(const struct tcp_segment *seg);
// TOPIC_UDP or TOPIC_TCP return msg need convert to (const struct packet *)
struct packet; struct packet;
typedef void plugin_on_packet_func(struct packet *pkt, unsigned char ip_protocol, void *plugin_env); typedef void plugin_on_packet_func(struct packet *pkt, unsigned char ip_protocol, void *plugin_env);

View File

@@ -1,5 +1,5 @@
set(INFRA log tuple packet_parser packet_io snowflake ip_reassembly tcp_reassembly session_manager plugin_manager core) set(INFRA tuple packet_parser packet_io snowflake ip_reassembly tcp_reassembly session_manager plugin_manager core)
set(DEPS bitmap dablooms interval_tree nmx_pool rbtree timeout toml) set(DEPS bitmap dablooms interval_tree logger nmx_pool rbtree timeout toml)
set(DECODERS http lpi) set(DECODERS http lpi)
set(WHOLE_ARCHIVE ${DEPS} ${INFRA} ${DECODERS}) set(WHOLE_ARCHIVE ${DEPS} ${INFRA} ${DECODERS})

View File

@@ -1,7 +0,0 @@
add_library(log log.c)
target_include_directories(log PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(log PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(log toml)
add_subdirectory(test)

View File

@@ -7,8 +7,9 @@ add_library(packet_parser
checksum.c) checksum.c)
target_include_directories(packet_parser PUBLIC ${CMAKE_CURRENT_LIST_DIR}) target_include_directories(packet_parser PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/deps/uthash) target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/deps/uthash)
target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/deps/logger)
target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/include) target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/infra/core) target_include_directories(packet_parser PUBLIC ${CMAKE_SOURCE_DIR}/infra/core)
target_link_libraries(packet_parser tuple log dablooms) target_link_libraries(packet_parser tuple logger dablooms)
add_subdirectory(test) add_subdirectory(test)

View File

@@ -1,5 +1,7 @@
add_library(snowflake snowflake.c) add_library(snowflake snowflake.c)
target_include_directories(snowflake PUBLIC ${CMAKE_CURRENT_LIST_DIR}) target_include_directories(snowflake PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_link_libraries(snowflake log) target_include_directories(snowflake PUBLIC ${CMAKE_SOURCE_DIR}/deps/logger)
target_link_libraries(snowflake logger)
add_subdirectory(test) add_subdirectory(test)

View File

@@ -1,7 +1,8 @@
add_library(tcp_reassembly tcp_reassembly.c) add_library(tcp_reassembly tcp_reassembly.c)
target_include_directories(tcp_reassembly PUBLIC ${CMAKE_CURRENT_LIST_DIR}) target_include_directories(tcp_reassembly PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(tcp_reassembly PUBLIC ${CMAKE_SOURCE_DIR}/deps/list) target_include_directories(tcp_reassembly PUBLIC ${CMAKE_SOURCE_DIR}/deps/list)
target_include_directories(tcp_reassembly PUBLIC ${CMAKE_SOURCE_DIR}/deps/logger)
target_include_directories(tcp_reassembly PUBLIC ${CMAKE_SOURCE_DIR}/include) target_include_directories(tcp_reassembly PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(tcp_reassembly interval_tree log) target_link_libraries(tcp_reassembly interval_tree logger)
add_subdirectory(test) add_subdirectory(test)

View File

@@ -4,7 +4,7 @@ aux_source_directory(${PROJECT_SOURCE_DIR}/deps/toml DEPS_SRC)
add_library(${DECODER_NAME}_test SHARED http_decoder_test_plug.cpp md5.c ${DEPS_SRC}) add_library(${DECODER_NAME}_test SHARED http_decoder_test_plug.cpp md5.c ${DEPS_SRC})
add_dependencies(${DECODER_NAME}_test ${DECODER_NAME}) add_dependencies(${DECODER_NAME}_test ${DECODER_NAME})
target_link_libraries(${DECODER_NAME}_test cjson-static) target_link_libraries(${DECODER_NAME}_test cjson-static llhttp-static)
set_target_properties(${DECODER_NAME}_test PROPERTIES PREFIX "") set_target_properties(${DECODER_NAME}_test PROPERTIES PREFIX "")
# add_library(${DECODER_NAME}_perf SHARED http_decoder_perf_plug.cpp) # add_library(${DECODER_NAME}_perf SHARED http_decoder_perf_plug.cpp)
@@ -14,21 +14,14 @@ set_target_properties(${DECODER_NAME}_test PROPERTIES PREFIX "")
set(TEST_RUN_DIR ${CMAKE_BINARY_DIR}/testing) set(TEST_RUN_DIR ${CMAKE_BINARY_DIR}/testing)
include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_SOURCE_DIR}/deps) include_directories(${CMAKE_SOURCE_DIR}/deps)
include_directories(/opt/tsg/stellar/include/)
include_directories(/opt/tsg/framework/include/)
include_directories(${CMAKE_BINARY_DIR}/vendor/llhttp/include)
include_directories(${CMAKE_BINARY_DIR}/vendor/cjson/src/cjson/include)
include_directories(${PROJECT_SOURCE_DIR}/decoders/http) include_directories(${PROJECT_SOURCE_DIR}/decoders/http)
include_directories(${PROJECT_SOURCE_DIR}/include/stellar) include_directories(${PROJECT_SOURCE_DIR}/include/stellar)
aux_source_directory(${PROJECT_SOURCE_DIR}/deps/mempool PERF_TEST_DEP_SRC)
aux_source_directory(${PROJECT_SOURCE_DIR}/deps/toml PERF_TEST_DEP_SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/deps/toml PERF_TEST_DEP_SRC)
aux_source_directory(${PROJECT_SOURCE_DIR}/src PERF_TEST_DEP_SRC)
add_executable(gtest_http http_decoder_gtest.cpp ${PROJECT_SOURCE_DIR}/decoders/http/http_decoder_utils.cpp) add_executable(gtest_http http_decoder_gtest.cpp ${PROJECT_SOURCE_DIR}/decoders/http/http_decoder_utils.cpp)
target_link_libraries(gtest_http gtest stellar_devel) target_link_libraries(gtest_http gtest stellar_devel llhttp-static)
add_executable(http_test_main plugin_test_main.cpp) add_executable(http_test_main plugin_test_main.cpp)
set_target_properties(http_test_main set_target_properties(http_test_main
@@ -42,7 +35,7 @@ set_target_properties(http_test_main
"-rdynamic" "-rdynamic"
) )
set(LINK_FLAGS "-rdynamic") set(LINK_FLAGS "-rdynamic")
target_link_libraries(http_test_main gtest cjson-static stellar_devel) target_link_libraries(http_test_main gtest cjson-static stellar_devel llhttp-static)
add_subdirectory(test_based_on_stellar) add_subdirectory(test_based_on_stellar)

View File

@@ -6,14 +6,9 @@ set(TEST_MAIN http_test_main)
include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR}/test) include_directories(${CMAKE_SOURCE_DIR}/test)
include_directories(/usr/local/include/cjson)
include_directories(/opt/tsg/framework/include/stellar)
include_directories(/opt/MESA/include/MESA)
include_directories(/opt/tsg/stellar/include/)
#various ways to add -rdynamic for centos7, centos8, and different cmake version #various ways to add -rdynamic for centos7, centos8, and different cmake version
add_definitions(-rdynamic) add_definitions(-rdynamic)
link_directories(${SAPP_DEVEL_DIR})
# assemble test env # assemble test env
add_test(NAME HTTP_MKDIR_METRIC COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/metrics; mkdir -p ${TEST_RUN_DIR}/plugin; mkdir -p ${TEST_RUN_DIR}/log; mkdir -p ${TEST_RUN_DIR}/pcap") add_test(NAME HTTP_MKDIR_METRIC COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/metrics; mkdir -p ${TEST_RUN_DIR}/plugin; mkdir -p ${TEST_RUN_DIR}/log; mkdir -p ${TEST_RUN_DIR}/pcap")

View File

@@ -17,7 +17,7 @@
#include "stellar/session.h" #include "stellar/session.h"
#include "stellar/stellar_mq.h" #include "stellar/stellar_mq.h"
#include "cjson/cJSON.h" #include "cJSON.h"
struct gtest_json_result struct gtest_json_result