feat: add history and lastest different version test stage; decoder result use struct iovec.
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -10,4 +10,5 @@ build*/
|
||||
src/inc
|
||||
src/lib64
|
||||
cmake-build-*/
|
||||
.vscode/
|
||||
.vscode/
|
||||
.cache/
|
||||
|
||||
@@ -7,7 +7,7 @@ variables:
|
||||
libMESA_prof_load-devel libbreakpad_mini-devel libMESA_htable-devel
|
||||
stellar-on-sapp-devel stellar-on-sapp systemd-devel libfieldstat3-devel libfieldstat3 libMESA_field_stat2
|
||||
libMESA_jump_layer libMESA_htable libMESA_handle_logger
|
||||
INSTALL_PREFIX: "/home/mesasoft/sapp_run/"
|
||||
INSTALL_PREFIX: "/opt/tsg/"
|
||||
|
||||
stages:
|
||||
- build
|
||||
@@ -34,15 +34,6 @@ stages:
|
||||
tags:
|
||||
- share
|
||||
|
||||
run_test_for_centos8:
|
||||
stage: test
|
||||
extends: .build_by_travis_for_centos8
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
- cd build
|
||||
- ctest3 --verbose
|
||||
|
||||
branch_build_debug_for_centos8:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_centos8
|
||||
@@ -134,3 +125,48 @@ release_build_release_for_centos8:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- tags
|
||||
|
||||
###############################################################################
|
||||
# test
|
||||
###############################################################################
|
||||
|
||||
.install_rpm_package: &install_rpm_package
|
||||
- rpm -e sapp || true
|
||||
- rpm -e sapp-devel || true
|
||||
- rpm -e stellar-on-sapp || true
|
||||
- rpm -e stellar-on-sapp-devel || true
|
||||
- rpm -ivh /tmp/sapp.x86_64.rpm --prefix=${INSTALL_PREFIX}/sapp --force --nodeps
|
||||
- rpm -ivh /tmp/sapp-devel.x86_64.rpm --prefix=${INSTALL_PREFIX}/sapp --force --nodeps
|
||||
- rpm -ivh /tmp/stellar-on-sapp.x86_64.rpm --prefix=${INSTALL_PREFIX} --force --nodeps
|
||||
- rpm -qa | grep sapp
|
||||
- rpm -qa | grep stellar-on-sapp
|
||||
- ls -l /opt/MESA/lib && echo "/opt/MESA/lib" >> /etc/ld.so.conf
|
||||
|
||||
|
||||
history_version_test:
|
||||
stage: test
|
||||
extends: .build_by_travis_for_centos8
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
- cp -f ./support/stellar-on-sapp*.rpm /tmp/stellar-on-sapp.x86_64.rpm
|
||||
- cp -f ./support/sapp-devel*.rpm /tmp/sapp-devel.x86_64.rpm
|
||||
- cp -f ./support/sapp-4*.rpm /tmp/sapp.x86_64.rpm
|
||||
- *install_rpm_package
|
||||
- cd build
|
||||
- ctest3 --verbose
|
||||
|
||||
latest_version_test:
|
||||
stage: test
|
||||
extends: .build_by_travis_for_centos8
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
- rm -f stellar-on-sapp*.rpm sapp*.rpm
|
||||
- yumdownloader stellar-on-sapp sapp-devel sapp
|
||||
- cp -f stellar-on-sapp*.rpm /tmp/stellar-on-sapp.x86_64.rpm
|
||||
- cp -f sapp-devel*.rpm /tmp/sapp-devel.x86_64.rpm
|
||||
- cp -f sapp-4*.rpm /tmp/sapp.x86_64.rpm
|
||||
- *install_rpm_package
|
||||
- cd build
|
||||
- ctest3 --verbose
|
||||
@@ -28,7 +28,7 @@ elseif(ASAN_OPTION MATCHES "THREAD")
|
||||
endif()
|
||||
# end of for ASAN
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run)
|
||||
set(CMAKE_INSTALL_PREFIX /opt/tsg)
|
||||
|
||||
include_directories(include)
|
||||
include_directories(/opt/MESA/include/MESA/)
|
||||
@@ -39,12 +39,12 @@ add_subdirectory(src)
|
||||
enable_testing()
|
||||
add_subdirectory(test)
|
||||
|
||||
set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/quic/quic.conf"
|
||||
set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/sapp/conf/quic/quic.conf"
|
||||
"%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/quic/main.conf")
|
||||
|
||||
install(FILES bin/quic.inf DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT PROFILE)
|
||||
install(FILES bin/quic.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/conf/quic COMPONENT PROFILE)
|
||||
install(FILES bin/main.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/conf/quic COMPONENT PROFILE)
|
||||
install(FILES include/quic.h DESTINATION /opt/MESA/include/MESA COMPONENT HEADER)
|
||||
# install(FILES bin/quic.inf DESTINATION ${CMAKE_INSTALL_PREFIX}/sapp/ COMPONENT PROFILE)
|
||||
install(FILES bin/quic.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/sapp/conf/quic COMPONENT PROFILE)
|
||||
install(FILES bin/main.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/sapp/conf/quic COMPONENT PROFILE)
|
||||
install(FILES include/quic.h DESTINATION ${CMAKE_INSTALL_PREFIX}/framework/include/quic COMPONENT HEADER)
|
||||
|
||||
include(Package)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[[plugin]]
|
||||
path = "./stellar_plugin/quic.so"
|
||||
path = "./stellar_plugin/quic/quic.so"
|
||||
init = "QUIC_ONLOAD"
|
||||
exit = "QUIC_UNLOAD"
|
||||
|
||||
[[plugin]]
|
||||
path = "./stellar_plugin/quic_test_plug.so"
|
||||
path = "./stellar_plugin/quic/quic_test_plug.so"
|
||||
init = "QUIC_TEST_PLUG_INIT"
|
||||
exit = "QUIC_TEST_PLUG_DESTROY"
|
||||
exit = "QUIC_TEST_PLUG_DESTROY"
|
||||
|
||||
@@ -13,3 +13,20 @@ fi
|
||||
if [[ -z `grep -rn 'QUIC' ${DST}/etc/entrylist.conf` ]];then
|
||||
echo "QUIC" >> ${DST}/etc/entrylist.conf
|
||||
fi
|
||||
|
||||
|
||||
DST=${RPM_INSTALL_PREFIX}/sapp/
|
||||
|
||||
mkdir -p ${DST}/stellar_plugin
|
||||
touch ${DST}/stellar_plugin/spec.toml
|
||||
|
||||
if ! grep -q '^\./plug/stellar_plugin/quic.so' "${DST}/stellar_plugin/spec.toml"; then
|
||||
echo -e "\n" >> "${DST}/stellar_plugin/spec.toml"
|
||||
echo -e "[[plugin]]" >> "${DST}/stellar_plugin/spec.toml"
|
||||
echo -e "path = \"./stellar_plugin/quic/quic.so\"" >> "${DST}/stellar_plugin/spec.toml"
|
||||
echo -e "init = \"QUIC_ONLOAD\"" >> "${DST}/stellar_plugin/spec.toml"
|
||||
echo -e "exit = \"QUIC_UNLOAD\"" >> "${DST}/stellar_plugin/spec.toml"
|
||||
echo -e "\n" >> "${DST}/stellar_plugin/spec.toml"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -1,17 +1,7 @@
|
||||
#!/bin/sh
|
||||
if [ $1 == 0 ]; then
|
||||
DST=${RPM_INSTALL_PREFIX}
|
||||
mkdir -p ${DST}/plug/business/
|
||||
touch ${DST}/plug/conflist.inf
|
||||
|
||||
mkdir -p ${DST}/etc/
|
||||
touch ${DST}/etc/entrylist.conf
|
||||
|
||||
if [[ -f ${DST}/plug/conflist.inf ]];then
|
||||
sed -i '/quic.inf/d' ${DST}/plug/conflist.inf
|
||||
fi
|
||||
|
||||
if [[ -f ${DST}/etc/entrylist.conf ]];then
|
||||
sed -i '/QUIC/d' ${DST}/etc/entrylist.conf
|
||||
fi
|
||||
DST=${RPM_INSTALL_PREFIX}/sapp/stellar_plugin
|
||||
sed -i -n '$!N;/quic.so/!P;D' ${DST}/spec.toml
|
||||
sed -i '/QUIC_ONLOAD/d' ${DST}/spec.toml
|
||||
sed -i '/QUIC_UNLOAD/d' ${DST}/spec.toml
|
||||
fi
|
||||
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include <bits/types/struct_iovec.h>
|
||||
|
||||
typedef struct iovec qstring;
|
||||
|
||||
enum quic_message_type
|
||||
{
|
||||
@@ -23,16 +26,10 @@ enum quic_message_type
|
||||
struct quic_message;
|
||||
enum quic_message_type quic_message_type_get(const struct quic_message *msg);
|
||||
|
||||
struct qstring
|
||||
{
|
||||
const char *str;
|
||||
size_t str_len;
|
||||
};
|
||||
|
||||
void quic_message_get_version(const struct quic_message *msg, unsigned int *result);
|
||||
void quic_message_get_sni(const struct quic_message *msg, struct qstring *result);
|
||||
void quic_message_get_user_agent(const struct quic_message *msg, struct qstring *result);
|
||||
void quic_message_get_payload(const struct quic_message *msg, struct qstring *result);
|
||||
void quic_message_get_sni(const struct quic_message *msg, struct iovec *result);
|
||||
void quic_message_get_user_agent(const struct quic_message *msg, struct iovec *result);
|
||||
void quic_message_get_payload(const struct quic_message *msg, struct iovec *result);
|
||||
|
||||
int quic_version_int2string(unsigned int version, char *buff, int buff_len);
|
||||
|
||||
|
||||
@@ -12,4 +12,4 @@ set_target_properties(${lib_name} PROPERTIES PREFIX "")
|
||||
target_link_libraries(${lib_name} ${DNS_DEPEND_DYN_LIB} pthread -Wl,--no-whole-archive openssl-crypto-static -Wl,--no-whole-archive openssl-ssl-static)
|
||||
set_target_properties(${lib_name} PROPERTIES OUTPUT_NAME ${lib_name})
|
||||
|
||||
install(TARGETS ${lib_name} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT LIBRARIES)
|
||||
install(TARGETS ${lib_name} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/sapp/stellar_plugin/quic COMPONENT LIBRARIES)
|
||||
|
||||
@@ -112,11 +112,11 @@ static int parse_quic_port(char *port_list, unsigned short *quic_port, int quic_
|
||||
|
||||
static void free_quicinfo(struct quic_info *quic_info)
|
||||
{
|
||||
if(quic_info->sni.str)
|
||||
FREE(quic_info->sni.str);
|
||||
if(quic_info->sni.iov_base)
|
||||
FREE(quic_info->sni.iov_base);
|
||||
|
||||
if(quic_info->user_agent.str)
|
||||
FREE(quic_info->user_agent.str);
|
||||
if(quic_info->user_agent.iov_base)
|
||||
FREE(quic_info->user_agent.iov_base);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
@@ -122,18 +122,18 @@ static int gquic_pkn_bit2length(unsigned char bit_value)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int copy_extension_tag(const char *tag_start_pos, int tag_len, struct qstring *out, int thread_seq)
|
||||
static int copy_extension_tag(const char *tag_start_pos, int tag_len, qstring *out, int thread_seq)
|
||||
{
|
||||
if(tag_start_pos!=NULL && tag_len>0)
|
||||
{
|
||||
if(out->str!=NULL)
|
||||
if(out->iov_base!=NULL)
|
||||
{
|
||||
FREE(out->str);
|
||||
FREE(out->iov_base);
|
||||
}
|
||||
|
||||
out->str=(char *)CALLOC(1, tag_len+1);
|
||||
memcpy((void *)out->str, tag_start_pos, tag_len);
|
||||
out->str_len = tag_len;
|
||||
out->iov_base=CALLOC(1, tag_len+1);
|
||||
memcpy((void *)out->iov_base, tag_start_pos, tag_len);
|
||||
out->iov_len = tag_len;
|
||||
|
||||
return tag_len;
|
||||
}
|
||||
@@ -810,8 +810,8 @@ void quic_analyze_entry(struct session *sess, const struct quic_param *g_quic_pl
|
||||
if(0 == qcontext->msg_state[QUIC_VERSION]
|
||||
|| 0 == qcontext->msg_state[QUIC_SNI]
|
||||
|| 0 == qcontext->msg_state[QUIC_USER_AGENT]){
|
||||
if(NULL == qcontext->quic_info.sni.str
|
||||
|| NULL == qcontext->quic_info.user_agent.str){
|
||||
if(NULL == qcontext->quic_info.sni.iov_base
|
||||
|| NULL == qcontext->quic_info.user_agent.iov_base){
|
||||
parse_res = parse_quic_all_version(g_quic_plugin_env, &(qcontext->quic_info), payload, payload_len, thread_seq);
|
||||
if(PARSE_RESULT_VERSION == parse_res){
|
||||
push_payload = 1;
|
||||
@@ -823,12 +823,12 @@ void quic_analyze_entry(struct session *sess, const struct quic_param *g_quic_pl
|
||||
quic_session_mq_publish_message_safe(sess, g_quic_plugin_env->quic_topic_id, qmsg);
|
||||
qcontext->msg_state[QUIC_VERSION] = 1;
|
||||
}
|
||||
if((0 == qcontext->msg_state[QUIC_SNI]) && qcontext->quic_info.sni.str){
|
||||
if((0 == qcontext->msg_state[QUIC_SNI]) && qcontext->quic_info.sni.iov_base){
|
||||
qmsg = quic_create_message(QUIC_SNI, qcontext);
|
||||
quic_session_mq_publish_message_safe(sess, g_quic_plugin_env->quic_topic_id, qmsg);
|
||||
qcontext->msg_state[QUIC_SNI] = 1;
|
||||
}
|
||||
if((0 == qcontext->msg_state[QUIC_USER_AGENT]) && qcontext->quic_info.user_agent.str){
|
||||
if((0 == qcontext->msg_state[QUIC_USER_AGENT]) && qcontext->quic_info.user_agent.iov_base){
|
||||
qmsg = quic_create_message(QUIC_USER_AGENT, qcontext);
|
||||
quic_session_mq_publish_message_safe(sess, g_quic_plugin_env->quic_topic_id, qmsg);
|
||||
qcontext->msg_state[QUIC_USER_AGENT] =1;
|
||||
@@ -837,8 +837,8 @@ void quic_analyze_entry(struct session *sess, const struct quic_param *g_quic_pl
|
||||
}
|
||||
|
||||
if(push_payload){
|
||||
qcontext->quic_info.payload.str = payload;
|
||||
qcontext->quic_info.payload.str_len = payload_len;
|
||||
qcontext->quic_info.payload.iov_base = (void *)payload;
|
||||
qcontext->quic_info.payload.iov_len = payload_len;
|
||||
qmsg = quic_create_message(QUIC_PAYLOAD, qcontext);
|
||||
quic_session_mq_publish_message_safe(sess, g_quic_plugin_env->quic_topic_id, qmsg);
|
||||
}
|
||||
@@ -883,29 +883,29 @@ void quic_message_get_version(const struct quic_message *msg, unsigned int *resu
|
||||
*result = msg->qctx->quic_info.quic_version;
|
||||
}
|
||||
}
|
||||
void quic_message_get_sni(const struct quic_message *msg, struct qstring *result)
|
||||
void quic_message_get_sni(const struct quic_message *msg, qstring *result)
|
||||
{
|
||||
assert(QUIC_MSG_HDR_MAGIC == msg->magic);
|
||||
if(result){
|
||||
result->str = msg->qctx->quic_info.sni.str;
|
||||
result->str_len = msg->qctx->quic_info.sni.str_len;
|
||||
result->iov_base = msg->qctx->quic_info.sni.iov_base;
|
||||
result->iov_len = msg->qctx->quic_info.sni.iov_len;
|
||||
}
|
||||
}
|
||||
void quic_message_get_user_agent(const struct quic_message *msg, struct qstring *result)
|
||||
void quic_message_get_user_agent(const struct quic_message *msg, qstring *result)
|
||||
{
|
||||
assert(QUIC_MSG_HDR_MAGIC == msg->magic);
|
||||
if(result){
|
||||
result->str = msg->qctx->quic_info.user_agent.str;
|
||||
result->str_len = msg->qctx->quic_info.user_agent.str_len;
|
||||
result->iov_base = msg->qctx->quic_info.user_agent.iov_base;
|
||||
result->iov_len = msg->qctx->quic_info.user_agent.iov_len;
|
||||
}
|
||||
|
||||
}
|
||||
void quic_message_get_payload(const struct quic_message *msg, struct qstring *result)
|
||||
void quic_message_get_payload(const struct quic_message *msg, qstring *result)
|
||||
{
|
||||
assert(QUIC_MSG_HDR_MAGIC == msg->magic);
|
||||
if(result){
|
||||
result->str = msg->qctx->quic_info.payload.str;
|
||||
result->str_len = msg->qctx->quic_info.payload.str_len;
|
||||
result->iov_base = msg->qctx->quic_info.payload.iov_base;
|
||||
result->iov_len = msg->qctx->quic_info.payload.iov_len;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -288,9 +288,9 @@ enum QUIC_VERSION_T
|
||||
struct quic_info
|
||||
{
|
||||
unsigned int quic_version;
|
||||
struct qstring sni;
|
||||
struct qstring user_agent;
|
||||
struct qstring payload;
|
||||
qstring sni;
|
||||
qstring user_agent;
|
||||
qstring payload;
|
||||
// struct quic_client_hello *client_hello;
|
||||
};
|
||||
|
||||
|
||||
BIN
stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm
Normal file
BIN
stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm
Normal file
Binary file not shown.
BIN
support/sapp-4.3.56.a47b3b5-1.el8.x86_64.rpm
Normal file
BIN
support/sapp-4.3.56.a47b3b5-1.el8.x86_64.rpm
Normal file
Binary file not shown.
BIN
support/sapp-devel-4.3.56.a47b3b5-1.el8.x86_64.rpm
Normal file
BIN
support/sapp-devel-4.3.56.a47b3b5-1.el8.x86_64.rpm
Normal file
Binary file not shown.
BIN
support/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm
Normal file
BIN
support/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm
Normal file
Binary file not shown.
@@ -2,61 +2,46 @@ cmake_minimum_required (VERSION 2.8...3.10)
|
||||
|
||||
project(${lib_name}_test)
|
||||
|
||||
include(ExternalProject)
|
||||
#### Protoco_test_run
|
||||
|
||||
|
||||
ExternalProject_Add(ProtoTest PREFIX ProtoTest
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/test_protocol_run.zip
|
||||
URL_MD5 4b181e88dccdd1ec59a22a16ab8c5051
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory <SOURCE_DIR>/conf/${lib_name}/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/bin/main.conf <SOURCE_DIR>/conf/${lib_name}/main.conf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/bin/${lib_name}.conf <SOURCE_DIR>/conf/${lib_name})
|
||||
|
||||
ExternalProject_Get_Property(ProtoTest INSTALL_DIR)
|
||||
ExternalProject_Get_Property(ProtoTest SOURCE_DIR)
|
||||
set(PROTO_TEST_RUN_DIR ${SOURCE_DIR})
|
||||
|
||||
add_executable(proto_test_main IMPORTED GLOBAL)
|
||||
add_dependencies(proto_test_main ProtoTest)
|
||||
set_property(TARGET proto_test_main PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/test_protocol_plug_main)
|
||||
set(proto_test_main plugin_test_main)
|
||||
set(PROTO_TEST_RUN_DIR ${CMAKE_INSTALL_PREFIX}/sapp)
|
||||
|
||||
add_library(${lib_name}_test_plug SHARED ${lib_name}_test_plug.cpp)
|
||||
target_link_libraries(${lib_name}_test_plug MESA_prof_load cjson)
|
||||
set_target_properties(${lib_name}_test_plug PROPERTIES PREFIX "")
|
||||
|
||||
add_test(NAME COPY_QUIC_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/src/${lib_name}.so ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name}.so")
|
||||
add_test(NAME COPY_TEST_SO COMMAND sh -c "cp ${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_test_plug.so ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name}_test_plug.so")
|
||||
add_test(NAME COPY_QUIC_SO COMMAND sh -c "mkdir -p ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name} && cp ${CMAKE_BINARY_DIR}/src/${lib_name}.so ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name}/${lib_name}.so")
|
||||
add_test(NAME COPY_TEST_SO COMMAND sh -c "mkdir -p ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name} && cp ${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_test_plug.so ${PROTO_TEST_RUN_DIR}/stellar_plugin/${lib_name}/${lib_name}_test_plug.so")
|
||||
add_test(NAME COPY_TEST_SPEC COMMAND sh -c "cp ${CMAKE_SOURCE_DIR}/bin/quic.inf ${PROTO_TEST_RUN_DIR}/stellar_plugin/spec.toml")
|
||||
add_test(NAME COPY_PLUGIN_TEST_MAIN COMMAND sh -c "rpm -ql sapp | grep plugin_test_main | xargs -i cp -f {} ${PROTO_TEST_RUN_DIR}/")
|
||||
add_test(NAME COPY_MAIN_CFG COMMAND sh -c "mkdir -p ${PROTO_TEST_RUN_DIR}/conf/quic && cp ${CMAKE_SOURCE_DIR}/bin/main.conf ${PROTO_TEST_RUN_DIR}/conf/quic/")
|
||||
add_test(NAME COPY_QUIC_CFG COMMAND sh -c "mkdir -p ${PROTO_TEST_RUN_DIR}/conf/quic && cp ${CMAKE_SOURCE_DIR}/bin/quic.conf ${PROTO_TEST_RUN_DIR}/conf/quic/")
|
||||
add_test(NAME UPDATE_SAPP_LOG_LEVEL COMMAND bash -c "sed -i 's/sapp_log.fatal/sapp_log.info/' ${PROTO_TEST_RUN_DIR}/etc/sapp_log.conf")
|
||||
|
||||
set_tests_properties(COPY_QUIC_SO COPY_TEST_SO
|
||||
set_tests_properties(COPY_QUIC_SO COPY_TEST_SO COPY_TEST_SPEC COPY_PLUGIN_TEST_MAIN COPY_MAIN_CFG COPY_QUIC_CFG UPDATE_SAPP_LOG_LEVEL
|
||||
PROPERTIES FIXTURES_SETUP TestFixture)
|
||||
|
||||
add_test(NAME IQUIC_29_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/iquic/29//${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/iquic/29/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_23_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/23/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/23/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_25_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/25/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/25/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_33_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/33/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/33/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_34_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/34/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/34/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_35_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/35/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/35/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_37_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/37/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/37/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_39_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/39/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/39/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_41_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/41/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/41/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_43_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/43/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/43/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_44_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/44/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/44/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_46_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/46/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/46/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_50_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/50/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/50/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME MVFST_01_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/01/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/01/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME MVFST_02_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/02/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/02/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME TQUIC_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tquic/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tquic/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME IQUIC_PORT_8443_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/port-8443/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/port-8443/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000 COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000_FRAGMENT COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-fragment/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-fragment/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000_SPECIAL COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-special/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-special/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_AIRPORT COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/airport/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/airport -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_SPECIAL COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/special/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/special/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME IQUIC_29_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/iquic/29//${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/iquic/29/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_23_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/23/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/23/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_25_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/25/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/25/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_33_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/33/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/33/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_34_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/34/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/34/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_35_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/35/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/35/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_37_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/37/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/37/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_39_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/39/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/39/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_41_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/41/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/41/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_43_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/43/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/43/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_44_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/44/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/44/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_46_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/46/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/46/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME GQUIC_50_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/50/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/gquic/50/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME MVFST_01_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/01/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/01/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME MVFST_02_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/02/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/mvfst/02/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME TQUIC_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tquic/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tquic/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME IQUIC_PORT_8443_TEST COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/port-8443/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/port-8443/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000 COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000_FRAGMENT COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-fragment/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-fragment/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_RFC9000_SPECIAL COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-special/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/rfc9000-special/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_AIRPORT COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/airport/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/airport -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
add_test(NAME QUIC_SPECIAL COMMAND ./${proto_test_main} ${CMAKE_CURRENT_SOURCE_DIR}/pcap/special/${lib_name}_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/special/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
|
||||
|
||||
set_tests_properties(IQUIC_29_TEST
|
||||
GQUIC_23_TEST
|
||||
@@ -81,4 +66,5 @@ set_tests_properties(IQUIC_29_TEST
|
||||
QUIC_RFC9000_SPECIAL
|
||||
QUIC_AIRPORT
|
||||
QUIC_SPECIAL
|
||||
PROPERTIES FIXTURES_REQUIRED TestFixture)
|
||||
PROPERTIES FIXTURES_REQUIRED TestFixture)
|
||||
|
||||
@@ -36,10 +36,10 @@ struct quic_gtest_context
|
||||
cJSON *json_root;
|
||||
};
|
||||
|
||||
static void cJSON_Add_QStringToObject(cJSON * object, const char *name, const struct qstring * qstring)
|
||||
static void cJSON_Add_QStringToObject(cJSON * object, const char *name, const qstring * qstring)
|
||||
{
|
||||
char *tmp = (char *)calloc(1, qstring->str_len + 1);
|
||||
memcpy(tmp, qstring->str, qstring->str_len);
|
||||
char *tmp = (char *)calloc(1, qstring->iov_len + 1);
|
||||
memcpy(tmp, qstring->iov_base, qstring->iov_len);
|
||||
cJSON_AddStringToObject(object, name, tmp);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ extern "C" void QUIC_TEST_PLUG_ENTRY(struct session *sess, int topic_id, const v
|
||||
|
||||
case QUIC_SNI:
|
||||
{
|
||||
struct qstring result = {};
|
||||
qstring result = {};
|
||||
quic_message_get_sni(qmsg, &result);
|
||||
cJSON_Add_QStringToObject(qctx->json_root, "SNI", &result);
|
||||
DEBUG_PRINT("### QUIC_TEST_PLUG_ENTRY: len=%d, SNI=%p, %.*s\n", (int)result.str_len, result.str, (int)result.str_len, result.str);
|
||||
@@ -80,7 +80,7 @@ extern "C" void QUIC_TEST_PLUG_ENTRY(struct session *sess, int topic_id, const v
|
||||
|
||||
case QUIC_USER_AGENT:
|
||||
{
|
||||
struct qstring result = {};
|
||||
qstring result = {};
|
||||
quic_message_get_user_agent(qmsg, &result);
|
||||
cJSON_Add_QStringToObject(qctx->json_root, "UA", &result);
|
||||
DEBUG_PRINT("### QUIC_TEST_PLUG_ENTRY: len=%d, UA=%p, %.*s\n", (int)result.str_len, result.str, (int)result.str_len, result.str);
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user