summaryrefslogtreecommitdiff
path: root/test_based_on_stellar
diff options
context:
space:
mode:
Diffstat (limited to 'test_based_on_stellar')
-rw-r--r--test_based_on_stellar/CMakeLists.txt37
-rw-r--r--test_based_on_stellar/env/conflist.inf1
-rw-r--r--test_based_on_stellar/env/defer_loader.inf14
-rw-r--r--test_based_on_stellar/env/start_loader.inf21
-rw-r--r--test_based_on_stellar/plugin_test_main.cpp13
5 files changed, 72 insertions, 14 deletions
diff --git a/test_based_on_stellar/CMakeLists.txt b/test_based_on_stellar/CMakeLists.txt
index 70663bf..088bfc4 100644
--- a/test_based_on_stellar/CMakeLists.txt
+++ b/test_based_on_stellar/CMakeLists.txt
@@ -32,24 +32,27 @@ target_link_libraries(plugin_test_main gtest cjson-static sapp_devel pthread pca
add_test(NAME STELLAR_INSTALL_TEST_MAIN COMMAND sh -c "cp ${CMAKE_CURRENT_BINARY_DIR}/${TEST_MAIN} ${TEST_RUN_DIR}/${TEST_MAIN}")
add_test(NAME STELLAR_COPY_SPEC COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/stellar_plugin/ && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/spec.toml ${TEST_RUN_DIR}/stellar_plugin/spec.toml")
add_test(NAME STELLAR_COPY_CONFLIST COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/plug/ && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/conflist.inf ${TEST_RUN_DIR}/plug/conflist.inf")
-add_test(NAME STELLAR_COPY_LOADER_INF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/plug/stellar_on_sapp && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/start_loader.inf ${TEST_RUN_DIR}/plug/stellar_on_sapp/start_loader.inf")
+add_test(NAME STELLAR_COPY_START_LOADER_INF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/plug/stellar_on_sapp && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/start_loader.inf ${TEST_RUN_DIR}/plug/stellar_on_sapp/start_loader.inf")
+add_test(NAME STELLAR_COPY_DEFER_LOADER_INF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/plug/stellar_on_sapp && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/defer_loader.inf ${TEST_RUN_DIR}/plug/stellar_on_sapp/defer_loader.inf")
add_test(NAME STELLAR_COPY_HTTP_DECODER_CONF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/etc/http && cp ${PROJECT_SOURCE_DIR}/conf/http_decoder.toml ${TEST_RUN_DIR}/etc/http/")
+add_test(NAME STELLAR_COPY_HTTP_GTEST_ENTRY_CONF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/etc/http && cp ${PROJECT_SOURCE_DIR}/conf/gtest_entry.toml ${TEST_RUN_DIR}/etc/http/")
# update config files
add_test(NAME STELLAR_UPDATE_SAPP_LOG_LEVEL COMMAND bash -c "sed -i 's/sapp_log.fatal/sapp_log.info/' ${TEST_RUN_DIR}/etc/sapp_log.conf")
add_test(NAME STELLAR_UPDATE_SAPP_SYN_MODE COMMAND bash -c "sed -i 's/syn_mandatory=1/syn_mandatory=0/' ${TEST_RUN_DIR}/etc/sapp.toml")
-# add_test(NAME UPDATE_SAPP_REORDER COMMAND bash -c "sed -i 's/reorder_pkt_max=32/reorder_pkt_max=5/' ${TEST_RUN_DIR}/etc/sapp.toml")
+add_test(NAME STELLAR_ENABLE_SAPP_MONITOR COMMAND bash -c "sed -i 's/monitor_thread_enabled=0/monitor_thread_enabled=1/' ${TEST_RUN_DIR}/etc/sapp.toml")
+add_test(NAME UPDATE_GTEST_PLUG_ENTRY COMMAND bash -c "sed -i 's/name=.*/name=\\x22http_decoder_test_entry\\x22/' ${TEST_RUN_DIR}/etc/http/gtest_entry.toml")
# update plugin to be tested
-add_test(NAME STELLAR_ON_SAPP_SO COMMAND sh -c "cp ${STELLAR_ON_SAPP_LIB_DIR}/stellar_on_sapp.so ${TEST_RUN_DIR}/plug/stellar_on_sapp/stellar_on_sapp.so")
+# add_test(NAME STELLAR_ON_SAPP_SO COMMAND sh -c "cp ${STELLAR_ON_SAPP_LIB_DIR}/stellar_on_sapp.so ${TEST_RUN_DIR}/plug/stellar_on_sapp/stellar_on_sapp.so")
+add_test(NAME STELLAR_ON_SAPP_SO COMMAND sh -c "rpm -ql stellar-on-sapp | grep stellar_on_sapp.so | xargs -i cp -f {} ${TEST_RUN_DIR}/plug/stellar_on_sapp/stellar_on_sapp.so")
add_test(NAME STELLAR_HTTP_DECODER_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/src/${DECODER_NAME}.so ${TEST_RUN_DIR}/stellar_plugin/${DECODER_NAME}.so")
add_test(NAME STELLAR_HTTP_DECODER_GTEST_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/test/${DECODER_NAME}_test.so ${TEST_RUN_DIR}/stellar_plugin/${DECODER_NAME}_test.so")
-set_tests_properties(STELLAR_INSTALL_TEST_MAIN STELLAR_COPY_SPEC STELLAR_COPY_CONFLIST STELLAR_COPY_LOADER_INF
- STELLAR_ON_SAPP_SO STELLAR_HTTP_DECODER_SO STELLAR_HTTP_DECODER_GTEST_SO STELLAR_UPDATE_SAPP_LOG_LEVEL
+set_tests_properties(STELLAR_INSTALL_TEST_MAIN STELLAR_COPY_SPEC STELLAR_COPY_CONFLIST STELLAR_COPY_START_LOADER_INF STELLAR_COPY_DEFER_LOADER_INF STELLAR_COPY_HTTP_DECODER_CONF STELLAR_COPY_HTTP_GTEST_ENTRY_CONF
+ STELLAR_ON_SAPP_SO STELLAR_HTTP_DECODER_SO STELLAR_HTTP_DECODER_GTEST_SO STELLAR_UPDATE_SAPP_LOG_LEVEL STELLAR_UPDATE_SAPP_SYN_MODE STELLAR_ENABLE_SAPP_MONITOR UPDATE_GTEST_PLUG_ENTRY
PROPERTIES FIXTURES_SETUP TestFixture)
-
set(TEST_JSON_DIR ${PROJECT_SOURCE_DIR}/test/test_result_json)
set(TEST_PCAP_DIR ${PROJECT_SOURCE_DIR}/test/http_pcap)
@@ -154,4 +157,24 @@ set_tests_properties(STELLAR_HTTP_GET_SINGLE_TRANS_TEST
STELLAR_HTTP_TRANS_PIPELINE_TEST
STELLAR_HTTP_HEADER_TRUNCATED_IN_KV_TEST
STELLAR_HTTP_HEADER_TRUNCATED_AFTER_KV_TEST
- PROPERTIES FIXTURES_REQUIRED TestFixture) \ No newline at end of file
+ PROPERTIES FIXTURES_REQUIRED TestFixture)
+
+add_test(NAME UPDATE_STATE_PLUG_ENTRY COMMAND bash -c "sed -i 's/name=.*/name=\\x22http_decoder_test_state_entry\\x22/' ${TEST_RUN_DIR}/etc/http/gtest_entry.toml")
+
+set_tests_properties(UPDATE_STATE_PLUG_ENTRY
+ PROPERTIES FIXTURES_SETUP TestState)
+
+add_test(NAME STELLAR_HTTP_MSG_TYPE_STATE_TEST COMMAND ./${TEST_MAIN} ${TEST_JSON_DIR}/http_msg_type_state.json
+ -r ${TEST_PCAP_DIR}/http_post.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+add_test(NAME STELLAR_HTTP_MSG_TYPE_STATE_C2S_TEST COMMAND ./${TEST_MAIN} ${TEST_JSON_DIR}/http_msg_type_state_c2s.json
+ -r ${TEST_PCAP_DIR}/http_post_c2s.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+add_test(NAME STELLAR_HTTP_MSG_TYPE_STATE_S2C_TEST COMMAND ./${TEST_MAIN} ${TEST_JSON_DIR}/http_msg_type_state_s2c.json
+ -r ${TEST_PCAP_DIR}/http_post_s2c.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+add_test(NAME STELLAR_HTTP_MSG_TYPE_STATE_PIPELINE_TEST COMMAND ./${TEST_MAIN} ${TEST_JSON_DIR}/http_msg_type_state_pipeline.json
+ -r ${TEST_PCAP_DIR}/http_get_multi_trans.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+
+set_tests_properties(STELLAR_HTTP_MSG_TYPE_STATE_TEST
+ STELLAR_HTTP_MSG_TYPE_STATE_C2S_TEST
+ STELLAR_HTTP_MSG_TYPE_STATE_S2C_TEST
+ STELLAR_HTTP_MSG_TYPE_STATE_PIPELINE_TEST
+ PROPERTIES FIXTURES_REQUIRED TestState) \ No newline at end of file
diff --git a/test_based_on_stellar/env/conflist.inf b/test_based_on_stellar/env/conflist.inf
index 1b70e78..5449f7d 100644
--- a/test_based_on_stellar/env/conflist.inf
+++ b/test_based_on_stellar/env/conflist.inf
@@ -4,3 +4,4 @@
[protocol]
[business]
+./plug/stellar_on_sapp/defer_loader.inf
diff --git a/test_based_on_stellar/env/defer_loader.inf b/test_based_on_stellar/env/defer_loader.inf
new file mode 100644
index 0000000..f31e043
--- /dev/null
+++ b/test_based_on_stellar/env/defer_loader.inf
@@ -0,0 +1,14 @@
+[PLUGINFO]
+PLUGNAME=stellar_defer_loader
+SO_PATH=./plug/stellar_on_sapp/stellar_on_sapp.so
+INIT_FUNC=STELLAR_DEFER_LOADER_INIT
+DESTROY_FUNC=STELLAR_DEFER_LOADER_EXIT
+
+[TCP_ALL]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_defer_entry
+
+[UDP]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_defer_entry
+
diff --git a/test_based_on_stellar/env/start_loader.inf b/test_based_on_stellar/env/start_loader.inf
index 545c4f7..ce1dc1b 100644
--- a/test_based_on_stellar/env/start_loader.inf
+++ b/test_based_on_stellar/env/start_loader.inf
@@ -8,14 +8,23 @@ DESTROY_FUNC=STELLAR_START_LOADER_EXIT
FUNC_FLAG=ALL
FUNC_NAME=stellar_on_sapp_tcpall_entry
-#[TCP]
-#FUNC_FLAG=ALL
-#FUNC_NAME=stellar_on_sapp_tcp_entry
+[TCP]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_tcp_entry
-#[TCP]
-#FUNC_FLAG=ALL
-#FUNC_NAME=stellar_on_sapp_detach_check_entry
[UDP]
FUNC_FLAG=ALL
FUNC_NAME=stellar_on_sapp_udp_entry
+
+[IP]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_ip4_entry
+
+[IPV6]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_ip6_entry
+
+[POLLING]
+FUNC_FLAG=ALL
+FUNC_NAME=stellar_on_sapp_polling_entry
diff --git a/test_based_on_stellar/plugin_test_main.cpp b/test_based_on_stellar/plugin_test_main.cpp
index 8ff6ef7..c26a5d5 100644
--- a/test_based_on_stellar/plugin_test_main.cpp
+++ b/test_based_on_stellar/plugin_test_main.cpp
@@ -15,6 +15,10 @@ cJSON *g_test_result_root = NULL;
cJSON *g_load_result_root = NULL;
int g_ret = 0;
+extern "C" int get_current_worker_thread_id(void)
+{
+ return 0;
+}
extern "C" int libsapp_setup_env(int argc, char *argv[]);
@@ -102,12 +106,19 @@ TEST(PROTOCOL, compare_result_json)
result_json_str = cJSON_Print(t_test);
printf("TEST Diff:\n%s\n", result_json_str);
free(result_json_str);
- ASSERT_EQ(1, ret);
+ goto fail;
}
t_load = t_load->next;
t_test = t_test->next;
}
}
+ cJSON_Delete(g_load_result_root);
+ cJSON_Delete(g_test_result_root);
+ return;
+fail:
+ cJSON_Delete(g_load_result_root);
+ cJSON_Delete(g_test_result_root);
+ return;
}
void run_gtest_main()