summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml134
-rw-r--r--CMakeLists.txt9
-rw-r--r--ci/travis.sh25
-rw-r--r--deps/rbtree/rbtree.h2
-rw-r--r--deps/toml/toml.cpp40
-rw-r--r--src/packet_io/CMakeLists.txt2
-rw-r--r--src/session/session_table.cpp2
-rw-r--r--vendor/CMakeLists.txt13
8 files changed, 128 insertions, 99 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b50d8c2..cf10c59 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,21 +2,70 @@ variables:
GIT_STRATEGY: "clone"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/stellar"
+ INSTALL_DEPENDENCY_LIBRARY: mrzcpd-corei7 framework_env libfieldstat4-devel
TESTING_VERSION_BUILD: 0
- BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-stellar"
stages:
+- cppcheck
- build
+- test
+- upload
-.build_by_travis_for_centos8:
- image: $BUILD_IMAGE_CENTOS8
- before_script:
+.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
+ - yum makecache --disablerepo="*" --enablerepo="framework,platform"
+ - yum install -y $INSTALL_DEPENDENCY_LIBRARY
+ - source /etc/profile.d/mrzcpd.sh
+ - source /etc/profile.d/framework.sh
- chmod +x ./ci/travis.sh
+
+###############################################################################
+# cppcheck
+###############################################################################
+.cppcheck_script:
+ variables:
+ BUILD_TYPE: Debug
+ stage: cppcheck
+ script:
+ - mkdir build; cd build; cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
+ - >
+ cppcheck --project=compile_commands.json
+ --enable=all
+ --std=c++11
+ --error-exitcode=1
+ --suppress=unusedFunction
+ --suppress=missingInclude
+ --suppress=uselessAssignmentPtrArg
+ --suppress=unmatchedSuppression
+ --suppress=variableScope
+ --suppress=unreadVariable
+ --suppress=cstyleCast
+ --suppress=memleakOnRealloc
+ --suppress=constParameter
+ --suppress=uselessAssignmentArg
+ --suppress=uninitvar
+ --suppress=unusedStructMember
+ --suppress=funcArgOrderDifferent
+ --suppress=unreachableCode
+ --suppress=internalAstError
+ tags:
+ - share
+
+run_cppcheck_for_centos8:
+ extends: .cppcheck_script
+ image: $BUILD_IMAGE_CENTOS8
+
+###############################################################################
+# build
+###############################################################################
+
+.build_by_travis_for_centos8:
+ image: $BUILD_IMAGE_CENTOS8
+ before_script: *everything_before_script
script:
- - yum makecache
- ./ci/travis.sh
tags:
- share
@@ -36,6 +85,10 @@ branch_build_release_for_centos8:
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_centos8
+ artifacts:
+ name: "stellar-branch-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
except:
- /^develop-.*$/i
- /^release-.*$/i
@@ -46,16 +99,8 @@ develop_build_debug_for_centos8:
extends: .build_by_travis_for_centos8
variables:
TESTING_VERSION_BUILD: 1
- #UPLOAD_SYMBOL_FILES: 1
BUILD_TYPE: Debug
#ASAN_OPTION: ADDRESS
- PACKAGE: 1
- PULP3_REPO_NAME: stellar-stable-x86_64.el8
- PULP3_DIST_NAME: stellar-stable-x86_64.el8
- artifacts:
- name: "stellar-develop-$CI_COMMIT_REF_NAME-debug"
- paths:
- - build/*.rpm
only:
- /^develop-.*$/i
- /^release-.*$/i
@@ -65,16 +110,12 @@ develop_build_release_for_centos8:
extends: .build_by_travis_for_centos8
variables:
TESTING_VERSION_BUILD: 1
- #UPLOAD_SYMBOL_FILES: 1
#ASAN_OPTION: ADDRESS
BUILD_TYPE: RelWithDebInfo
- PACKAGE: 1
- PULP3_REPO_NAME: stellar-stable-x86_64.el8
- PULP3_DIST_NAME: stellar-stable-x86_64.el8
artifacts:
name: "stellar-develop-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
only:
- /^develop-.*$/i
- /^release-.*$/i
@@ -82,16 +123,8 @@ develop_build_release_for_centos8:
release_build_debug_for_centos8:
stage: build
variables:
- #UPLOAD_SYMBOL_FILES: 1
BUILD_TYPE: Debug
- PACKAGE: 1
- PULP3_REPO_NAME: tsg-stable-x86_64.el8
- PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
- artifacts:
- name: "stellar-install-$CI_COMMIT_REF_NAME-debug"
- paths:
- - build/*.rpm
only:
- tags
@@ -99,14 +132,51 @@ release_build_release_for_centos8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
- #UPLOAD_SYMBOL_FILES: 1
- PACKAGE: 1
- PULP3_REPO_NAME: tsg-stable-x86_64.el8
- PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
artifacts:
name: "stellar-install-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
only:
- - tags \ No newline at end of file
+ - tags
+
+###############################################################################
+# test
+###############################################################################
+test_in_centos8:
+ stage: test
+ image: $BUILD_IMAGE_CENTOS8
+ allow_failure: false
+ script:
+ - *everything_before_script
+ - cd build; ctest -V
+ dependencies:
+ - branch_build_release_for_centos8
+ - develop_build_release_for_centos8
+ - release_build_release_for_centos8
+ tags:
+ - share
+
+###############################################################################
+# upload
+###############################################################################
+.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: stellar-stable-x86_64.el8
+ PULP3_DIST_NAME: stellar-stable-x86_64.el8
+ only:
+ - tags
+ tags:
+ - share
+
+rpm_upload_for_centos8:
+ extends: .define_before_upload_centos8
+ dependencies:
+ - release_build_release_for_centos8
+ script:
+ - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index efdec6f..97fff68 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,16 +39,9 @@ if (CMAKE_CXX_CPPCHECK)
"--suppress=uselessAssignmentArg"
"--suppress=uninitvar"
"--suppress=unusedStructMember"
+ "--suppress=funcArgOrderDifferent"
"--suppress=unreachableCode"
"--suppress=internalAstError"
- "--suppress=nullPointerRedundantCheck"
- "--suppress=ctunullpointer"
- "--suppress=redundantAssignment"
- "--suppress=duplicateValueTernary"
- "--suppress=funcArgOrderDifferent"
- "--suppress=*:${PROJECT_SOURCE_DIR}/vendors/*"
- "--suppress=*:${PROJECT_SOURCE_DIR}/deps/toml/*"
- "--suppress=*:${PROJECT_SOURCE_DIR}/deps/rbtree/*"
)
set(CMAKE_C_CPPCHECK ${CMAKE_CXX_CPPCHECK})
else()
diff --git a/ci/travis.sh b/ci/travis.sh
index f5aebec..fc6efc3 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -32,21 +32,6 @@ env | sort
: "${NO_RTTI:=OFF}"
: "${COMPILER_IS_GNUCXX:=OFF}"
-# Install dependency from YUM
-yum install -y mrzcpd-corei7
-yum install -y numactl-libs # required by mrzcpd
-yum install -y libibverbs # required by mrzcpd
-yum install -y libfieldstat4-devel
-yum install -y tcpdump
-dnf install -y epel-release
-dnf install -y wireshark wireshark-cli
-dnf install -y libpcap-devel
-dnf install -y jq
-
-if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ]; then
- source /opt/rh/devtoolset-7/enable
-fi
-
mkdir build || true
cd build
@@ -56,17 +41,11 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
-DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \
..
-make -j 4
-ctest --output-on-failure
+
+make -j $NPROCESSORS
if [ -n "${PACKAGE}" ]; then
make package
cp ~/rpm_upload_tools.py ./
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
fi
-
-if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
- rpm -i stellar*debuginfo*.rpm
- cp /usr/lib/debug/opt/tsg/stellar/bin/stellar*debug /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA}
- sentry-cli upload-dif -t elf /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA}
-fi
diff --git a/deps/rbtree/rbtree.h b/deps/rbtree/rbtree.h
index 25bd4da..f474b68 100644
--- a/deps/rbtree/rbtree.h
+++ b/deps/rbtree/rbtree.h
@@ -342,7 +342,7 @@ rb_find_first(const void *key, const struct rb_root *tree,
match = node;
node = node->rb_left;
}
- else if (c > 0)
+ else
{
node = node->rb_right;
}
diff --git a/deps/toml/toml.cpp b/deps/toml/toml.cpp
index d8df2cd..fef21a1 100644
--- a/deps/toml/toml.cpp
+++ b/deps/toml/toml.cpp
@@ -2502,32 +2502,32 @@ int toml_rtos(toml_raw_t src, char **ret)
toml_datum_t toml_string_at(const toml_array_t *arr, int idx)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtos(toml_raw_at(arr, idx), &ret.u.s));
return ret;
}
toml_datum_t toml_bool_at(const toml_array_t *arr, int idx)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtob(toml_raw_at(arr, idx), &ret.u.b));
return ret;
}
toml_datum_t toml_int_at(const toml_array_t *arr, int idx)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtoi(toml_raw_at(arr, idx), &ret.u.i));
return ret;
}
toml_datum_t toml_double_at(const toml_array_t *arr, int idx)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtod(toml_raw_at(arr, idx), &ret.u.d));
return ret;
}
@@ -2535,8 +2535,8 @@ toml_datum_t toml_double_at(const toml_array_t *arr, int idx)
toml_datum_t toml_timestamp_at(const toml_array_t *arr, int idx)
{
toml_timestamp_t ts;
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtots(toml_raw_at(arr, idx), &ts));
if (ret.ok)
{
@@ -2567,8 +2567,8 @@ toml_datum_t toml_timestamp_at(const toml_array_t *arr, int idx)
toml_datum_t toml_string_in(const toml_table_t *arr, const char *key)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
toml_raw_t raw = toml_raw_in(arr, key);
if (raw)
{
@@ -2579,24 +2579,24 @@ toml_datum_t toml_string_in(const toml_table_t *arr, const char *key)
toml_datum_t toml_bool_in(const toml_table_t *arr, const char *key)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtob(toml_raw_in(arr, key), &ret.u.b));
return ret;
}
toml_datum_t toml_int_in(const toml_table_t *arr, const char *key)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtoi(toml_raw_in(arr, key), &ret.u.i));
return ret;
}
toml_datum_t toml_double_in(const toml_table_t *arr, const char *key)
{
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtod(toml_raw_in(arr, key), &ret.u.d));
return ret;
}
@@ -2604,8 +2604,8 @@ toml_datum_t toml_double_in(const toml_table_t *arr, const char *key)
toml_datum_t toml_timestamp_in(const toml_table_t *arr, const char *key)
{
toml_timestamp_t ts;
- toml_datum_t ret;
- memset(&ret, 0, sizeof(ret));
+ toml_datum_t ret={};
+ //memset(&ret, 0, sizeof(ret));
ret.ok = (0 == toml_rtots(toml_raw_in(arr, key), &ts));
if (ret.ok)
{
diff --git a/src/packet_io/CMakeLists.txt b/src/packet_io/CMakeLists.txt
index a4a183a..b2e55fc 100644
--- a/src/packet_io/CMakeLists.txt
+++ b/src/packet_io/CMakeLists.txt
@@ -1,4 +1,4 @@
add_library(packet_io dumpfile_io.cpp marsio_io.cpp lock_free_queue.cpp packet_io.cpp)
target_include_directories(packet_io PUBLIC ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(packet_io PUBLIC ${CMAKE_SOURCE_DIR}/src/stellar)
-target_link_libraries(packet_io mrzcpd pcap packet) \ No newline at end of file
+target_link_libraries(packet_io marsio pcap packet) \ No newline at end of file
diff --git a/src/session/session_table.cpp b/src/session/session_table.cpp
index e396996..651ef60 100644
--- a/src/session/session_table.cpp
+++ b/src/session/session_table.cpp
@@ -166,7 +166,7 @@ void session_table_del(struct session_table *table, struct session *sess)
HASH_DELETE(hh1, table->root_tuple6, sess);
HASH_DELETE(hh2, table->root_tuple4, sess);
HASH_DELETE(hh3, table->root_sessid, sess);
- if (table->free_cb && sess)
+ if (table->free_cb)
{
table->free_cb(sess, table->arg);
}
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index e0751a7..857bcb5 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -23,16 +23,3 @@ add_library(gmock STATIC IMPORTED GLOBAL)
add_dependencies(gmock googletest)
set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgmock.a)
set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-
-# MRZCPD
-set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
-set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
-
-add_library(mrzcpd SHARED IMPORTED GLOBAL)
-set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
-set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR})
-
-# FIELDSTAT
-add_library(fieldstat4 SHARED IMPORTED GLOBAL)
-set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION /opt/MESA/lib/libfieldstat4.so)
-set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES /opt/MESA/include) \ No newline at end of file