Feature: add gtest case

This commit is contained in:
liuxueli
2024-08-26 07:27:28 +00:00
parent 2963165b5e
commit 08244ecbda
3 changed files with 199 additions and 0 deletions

160
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,160 @@
variables:
GIT_STRATEGY: "clone"
BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master"
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/"
INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libMESA_prof_load-devel libMESA_htable libMESA_jump_layer
sapp-devel libcjson-devel libbreakpad_mini
framework_env libasan stellar-on-sapp-devel libfieldstat4-devel
SYMBOL_TARGET: ssl_decoder
REPO_PREFIX: protocol
stages:
- build
- test
- upload
.everything_before_script: &everything_before_script
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- chmod +x ./ci/travis.sh
- yum makecache --disablerepo="*" --enablerepo="mesa-framework,platform"
- yum install -y $INSTALL_DEPENDENCY_LIBRARY
- source /etc/profile.d/framework.sh
###############################################################################
# build
###############################################################################
.build_before_script:
before_script: *everything_before_script
script:
- ./ci/travis.sh
variables:
BUILD_TEST: "ON"
BUILD_TYPE: Debug
tags:
- share
.build_by_travis_for_centos8:
stage: build
image: $BUILD_IMAGE_CENTOS8
extends: .build_before_script
develop_build_for_centos8:
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: RelWithDebInfo
artifacts:
name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*
except:
- tags
release_build_debug_for_centos8:
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: Debug
PACKAGE: 1
ASAN_OPTION: "ADDRESS"
artifacts:
name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- build/*
only:
- tags
release_build_for_centos8:
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
artifacts:
name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- build/*
only:
- tags
###############################################################################
# test
###############################################################################
fix_env_version_test_in_centos8:
stage: test
image: $BUILD_IMAGE_CENTOS8
allow_failure: false
script:
- *everything_before_script
- cd build; make test ARGS="-V"
dependencies:
- develop_build_for_centos8
- release_build_for_centos8
tags:
- share
latest_env_version_test_in_centos8:
stage: test
image: $BUILD_IMAGE_CENTOS8
allow_failure: false
script:
- *everything_before_script
- mkdir /tmp/rpm/
- yum install --downloadonly --downloaddir=/tmp/rpm/ sapp stellar-on-sapp -y
- rpm -ihv /tmp/rpm/*.rpm
- cd build; make test ARGS="-V"
dependencies:
- develop_build_for_centos8
- release_build_for_centos8
tags:
- share
###############################################################################
# upload
###############################################################################
# .define_before_upload_centos7:
# stage: upload
# image: $BUILD_IMAGE_CENTOS7
# before_script:
# - pwd; ls -l ; cd build ; ls -l
# - cp /root/rpm_upload_tools.py ./
# variables:
# PULP3_REPO_NAME: $REPO_PREFIX-stable-x86_64.el7
# PULP3_DIST_NAME: $REPO_PREFIX-stable-x86_64.el7
# only:
# - tags
# tags:
# - share
# rpm_upload_for_centos7:
# extends: .define_before_upload_centos7
# dependencies:
# - release_build_debug_for_centos7
# - release_build_for_centos7
# script:
# - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm
.define_before_upload_centos8:
stage: upload
image: $BUILD_IMAGE_CENTOS8
before_script:
- pwd; ls -l ; cd build ; ls -l
- cp /root/rpm_upload_tools.py ./
variables:
PULP3_REPO_NAME: $REPO_PREFIX-stable-x86_64.el8
PULP3_DIST_NAME: $REPO_PREFIX-stable-x86_64.el8
only:
- tags
tags:
- share
rpm_upload_for_centos8:
extends: .define_before_upload_centos8
dependencies:
- release_build_debug_for_centos8
- release_build_for_centos8
script:
- python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm

View File

@@ -1063,6 +1063,26 @@ void ssl_message_free(struct session *sess, void *msg, void *msg_free_arg)
utarray_free(chello->extensions);
}
if(chello->sni!=NULL)
{
FREE(chello->sni);
}
if(chello->esni!=NULL)
{
FREE(chello->esni);
}
if(chello->ech!=NULL)
{
FREE(chello->ech);
}
if(chello->ja3.value!=NULL)
{
FREE(chello->ja3.value);
}
FREE(message->data);
}
break;
@@ -1074,6 +1094,11 @@ void ssl_message_free(struct session *sess, void *msg, void *msg_free_arg)
utarray_free(shello->extensions);
}
if(shello->ja3s.value!=NULL)
{
FREE(shello->ja3s.value);
}
FREE(message->data);
}
break;
@@ -1415,6 +1440,8 @@ int32_t ssl_decoder_config_load(const char *cfg_path, struct ssl_decoder_plugin_
plugin_env->stat.per_thread_enable=SSL_DECODER_FALSE;
fprintf(stderr, "[%s:%d] config file: %s key: [decoder.ssl.local_stat.stat_per_thread_enable] value is not yes or no", __FUNCTION__, __LINE__, cfg_path);
}
free(stat_per_thread_enable_val.u.s);
}
toml_datum_t name=toml_string_in(local_stat_tbl, "stat_name");
@@ -1426,6 +1453,7 @@ int32_t ssl_decoder_config_load(const char *cfg_path, struct ssl_decoder_plugin_
else
{
strncpy(plugin_env->stat.name, name.u.s, sizeof(plugin_env->stat.name));
free(name.u.s);
}
toml_datum_t output_path=toml_string_in(local_stat_tbl, "stat_output");
@@ -1437,6 +1465,7 @@ int32_t ssl_decoder_config_load(const char *cfg_path, struct ssl_decoder_plugin_
else
{
strncpy(plugin_env->stat.path, output_path.u.s, sizeof(plugin_env->stat.path));
free(output_path.u.s);
}
toml_free(root);
@@ -1562,5 +1591,10 @@ extern "C" void ssl_decoder_exit(void *penv)
plugin_env->tcp_stream.topic_id=-1;
}
if(plugin_env->net_port!=NULL)
{
FREE(plugin_env->net_port);
}
FREE(penv);
}

View File

@@ -367,6 +367,11 @@ int32_t ssl_decoder_test_config_load(const char *cfg_path, struct ssl_decoder_te
plugin_env->commit_result_enable=1;
fprintf(stderr, "[%s:%d] config file: %s key: [decoder.ssl.test.commit_result_enable] value is not yes or no", __FUNCTION__, __LINE__, cfg_path);
}
if(commit_result_enable_val.u.s!=NULL)
{
free(commit_result_enable_val.u.s);
}
}
toml_free(root);