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)