when a session is closed, use the packet manager to create a pseudo packet,
set the session to be closed as packet Exdata, and schedule it to the packet forwarding stage.
when the pseudo packet free, the session will be free.
79 lines
5.7 KiB
CMake
79 lines
5.7 KiB
CMake
cmake_minimum_required (VERSION 2.8...3.10)
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/include/)
|
|
include_directories(${CMAKE_SOURCE_DIR}/infra/)
|
|
include_directories(${CMAKE_SOURCE_DIR}/deps/)
|
|
|
|
set(MONITOR_SRC_DIR ${CMAKE_SOURCE_DIR}/infra/monitor)
|
|
# set(MONITOR_DEPEND_LIB gtest pcap sds linenoise pthread toml libevent-static cjson-static fieldstat4 stellar_lib monitor)
|
|
set(MONITOR_DEPEND_LIB gtest pcap pthread fieldstat4 )
|
|
set(WHOLE_ARCHIVE_STATIC_LIB sds linenoise toml libevent-static cjson-static stellar_lib monitor session_manager tuple)
|
|
|
|
add_executable(gtest_stm_sds gtest_sds.cpp)
|
|
add_executable(gtest_stm_util gtest_monitor_util.cpp )
|
|
# add_executable(gtest_stm_packet_dump_unit gtest_packet_dump_unit.cpp)
|
|
# add_executable(gtest_stm_packet_dump gtest_packet_dump.cpp)
|
|
add_executable(gtest_cmd_assistant gtest_cmd_assistant.cpp )
|
|
add_executable(gtest_stm_spinlock gtest_spinlock.cpp )
|
|
# add_executable(gtest_seek_layer gtest_seek_layer.cpp)
|
|
add_executable(gtest_stm_server gtest_monitor_server.cpp)
|
|
add_executable(gtest_stm_topk gtest_topk.cpp)
|
|
add_executable(stm_server monitor_main.cpp)
|
|
add_executable(gtest_stm_rpc gtest_rpc.cpp)
|
|
set(MONITOR_TEST_FILE gtest_stm_sds gtest_stm_util gtest_cmd_assistant gtest_stm_spinlock gtest_stm_server gtest_stm_topk stm_server gtest_stm_rpc)
|
|
foreach(tfile ${MONITOR_TEST_FILE})
|
|
target_link_libraries(${tfile} ${MONITOR_DEPEND_LIB} -Wl,--whole-archive ${WHOLE_ARCHIVE_STATIC_LIB} -Wl,--no-whole-archive)
|
|
endforeach()
|
|
|
|
set(MONITOR_TEST_RUN_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
|
add_test(NAME MONITOR_ENV_SETUP COMMAND sh -c "mkdir -p ${MONITOR_TEST_RUN_DIR}/metrics &&
|
|
mkdir -p ${MONITOR_TEST_RUN_DIR}/conf &&
|
|
mkdir -p ${MONITOR_TEST_RUN_DIR}/plugin &&
|
|
mkdir -p ${MONITOR_TEST_RUN_DIR}/log &&
|
|
mkdir -p ${MONITOR_TEST_RUN_DIR}/pcap &&
|
|
cp ${CMAKE_SOURCE_DIR}/conf/stellar.toml ${MONITOR_TEST_RUN_DIR}/conf/stellar.toml &&
|
|
tomlq -t -i '.packet_io.mode=\"pcapfile\"' ${MONITOR_TEST_RUN_DIR}/conf/stellar.toml &&
|
|
tomlq -t -i '.packet_io.pcap_path=\"pcap/test.pcap\"' ${MONITOR_TEST_RUN_DIR}/conf/stellar.toml &&
|
|
rm -f ${MONITOR_TEST_RUN_DIR}/conf/log.toml &&
|
|
echo '[log]' >> ${MONITOR_TEST_RUN_DIR}/conf/log.toml &&
|
|
echo 'output = \"file\"' >> ${MONITOR_TEST_RUN_DIR}/conf/log.toml &&
|
|
echo 'level = \"DEBUG\"' >> ${MONITOR_TEST_RUN_DIR}/conf/log.toml &&
|
|
rm -f ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
cp ${CMAKE_BINARY_DIR}/tools/monitor/stellar-cli ${MONITOR_TEST_RUN_DIR}/stellar-cli &&
|
|
cp ${CMAKE_BINARY_DIR}/tools/monitor/tcpdump/src/tcpdump-build/stellar-dump ${MONITOR_TEST_RUN_DIR}/stellar-dump")
|
|
|
|
add_test(NAME MONITOR_COPY_PCAP COMMAND sh -c "rm -f ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
cp ${CMAKE_SOURCE_DIR}/test/monitor/pcap/monitor_benchmark.pcap ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
md5sum ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap |grep 79d4c8e526f638b59b12b7defb5021d9")
|
|
|
|
add_test(NAME MONITOR_TEST_SERVER COMMAND sh -c "./gtest_stm_server" WORKING_DIRECTORY ${GMONITOR_TEST_RUN_DIR})
|
|
set_tests_properties(MONITOR_ENV_SETUP
|
|
PROPERTIES FIXTURES_SETUP STM_ENV_SETUP)
|
|
set_tests_properties(MONITOR_TEST_SERVER
|
|
PROPERTIES FIXTURES_REQUIRED STM_ENV_SETUP)
|
|
|
|
# add_test(NAME MONITOR_PKT_DUMP_COPY_PCAP COMMAND sh -c "rm -f ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
# cp ${CMAKE_SOURCE_DIR}/test/monitor/pcap/monitor_packet_dump.pcap ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
# md5sum ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap |grep eb7795612a389d71d0f82fef5737981d")
|
|
# set_tests_properties(MONITOR_ENV_SETUP MONITOR_PKT_DUMP_COPY_PCAP
|
|
# PROPERTIES FIXTURES_SETUP STM_GTEST_PKT_DUMP)
|
|
# add_test(NAME MONITOR_TEST_PKT_DUMP COMMAND sh -c "./gtest_stm_packet_dump" WORKING_DIRECTORY ${MONITOR_TEST_RUN_DIR})
|
|
# set_tests_properties(MONITOR_TEST_PKT_DUMP
|
|
# PROPERTIES FIXTURES_REQUIRED STM_GTEST_PKT_DUMP)
|
|
|
|
# add_test(NAME MONITOR_PKT_DUMP_TUNNEL_COPY_PCAP COMMAND sh -c "rm -f ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
# cp ${CMAKE_SOURCE_DIR}/test/monitor/pcap/monitor_tunnel.pcap ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap &&
|
|
# md5sum ${MONITOR_TEST_RUN_DIR}/pcap/test.pcap |grep 525dab2a04d02b36d7d21be16f51e1cd")
|
|
# add_executable(gtest_stm_packet_dump_tunnel gtest_packet_dump_tunnel.cpp ${STM_DEP_SRC} )
|
|
# target_link_libraries(gtest_stm_packet_dump_tunnel ${MONITOR_DEPEND_LIB} ${WHOLE_ARCHIVE_STATIC_LIB} )
|
|
|
|
# set_tests_properties(MONITOR_ENV_SETUP MONITOR_PKT_DUMP_TUNNEL_COPY_PCAP
|
|
# PROPERTIES FIXTURES_SETUP STM_GTEST_PKT_DUMP_TUNNEL)
|
|
# add_test(NAME MONITOR_TEST_PKT_DUMP_TUNNEL COMMAND sh -c "./gtest_stm_packet_dump_tunnel" WORKING_DIRECTORY ${MONITOR_TEST_RUN_DIR})
|
|
# set_tests_properties(MONITOR_TEST_PKT_DUMP_TUNNEL
|
|
# PROPERTIES FIXTURES_REQUIRED STM_GTEST_PKT_DUMP_TUNNEL)
|
|
|
|
include(GoogleTest)
|
|
gtest_discover_tests(gtest_stm_util)
|
|
gtest_discover_tests(gtest_cmd_assistant)
|
|
# gtest_discover_tests(gtest_seek_layer) |