3 Commits

Author SHA1 Message Date
yangwei
9b9ac69ecc 🐎 ci(add aarch64 jobs): aarch64 + el9 2024-11-11 11:56:24 +08:00
yangwei
7ed1582309 🐎 ci(test): 增加test stage 2023-05-31 13:57:17 +08:00
yangwei
67ed711088 🦄 refactor(MESA_HANDLE_RUNTIME_LOG): 按C99标准进行宏展开,展开前判断level是否enable 2023-05-31 12:07:14 +08:00
5 changed files with 153 additions and 215 deletions

View File

@@ -1,12 +1,13 @@
variables: variables:
GIT_STRATEGY: "clone" GIT_STRATEGY: "clone"
BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" BUILD_IMAGE_X86_64_ROCKY8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" BUILD_IMAGE_AARCH64_ROCKY9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_DEPENDENCY_LIBRARY: libasan INSTALL_DEPENDENCY_LIBRARY: libasan
stages: stages:
- build - build
- test
.build_before_script: .build_before_script:
before_script: before_script:
@@ -14,36 +15,116 @@ stages:
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- chmod +x ./ci/travis.sh - chmod +x ./ci/travis.sh
- yum makecache
- yum install -y elfutils-libelf-devel
.build_by_travis_for_centos7: ###############################################################################
# build on x86_64 Rocky8
###############################################################################
.build_by_travis_for_x86_64_rocky8:
stage: build stage: build
image: $BUILD_IMAGE_CENTOS7 image: $BUILD_IMAGE_X86_64_ROCKY8
extends: .build_before_script extends: .build_before_script
script: script:
- yum install -y libmnl-devel - ./ci/travis.sh
- yum install -y libnfnetlink-devel tags:
- tsg-os-builder-el8
run_test_for_x86_64_rocky8:
stage: test
image: $BUILD_IMAGE_X86_64_ROCKY8
extends: .build_by_travis_for_x86_64_rocky8
script:
- ./ci/travis.sh - ./ci/travis.sh
- cd build - cd build
tags: - ctest --verbose
- share
.build_by_travis_for_centos8:
branch_build_debug_for_x86_64_rocky8:
stage: build stage: build
image: $BUILD_IMAGE_CENTOS8 extends: .build_by_travis_for_x86_64_rocky8
variables:
BUILD_TYPE: Debug
except:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
- tags
branch_build_release_for_x86_64_rocky8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_x86_64_rocky8
except:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
- tags
release_build_debug_for_x86_64_rocky88:
stage: build
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
PULP3_REPO_NAME: framework-stable-x86_64.el8
PULP3_DIST_NAME: framework-stable-x86_64.el8
extends: .build_by_travis_for_x86_64_rocky8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- tags
release_build_release_for_x86_64_rocky8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD_RPM: 1
SYMBOL_TARGET: libMESA_handle_logger
PULP3_REPO_NAME: framework-stable-x86_64.el8
PULP3_DIST_NAME: framework-stable-x86_64.el8
extends: .build_by_travis_for_x86_64_rocky8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- tags
###############################################################################
# build on aarch64 Rocky9
###############################################################################
.build_by_travis_for_aarch64_rocky9:
stage: build
image: $BUILD_IMAGE_AARCH64_ROCKY9
extends: .build_before_script extends: .build_before_script
script: script:
- dnf --enablerepo=powertools install -y libmnl-devel
- dnf --enablerepo=powertools install -y libnfnetlink-devel
- ./ci/travis.sh - ./ci/travis.sh
tags: tags:
- share - tsg-os-builder-aarch64
branch_build_debug_for_centos7:
run_test_for_aarch64_rocky9:
stage: test
image: $BUILD_IMAGE_AARCH64_ROCKY9
extends: .build_by_travis_for_aarch64_rocky9
script:
- ./ci/travis.sh
- cd build
- ctest --verbose
branch_build_debug_for_aarch64_rocky9:
stage: build stage: build
extends: .build_by_travis_for_centos7 extends: .build_by_travis_for_aarch64_rocky9
variables: variables:
BUILD_TYPE: Debug BUILD_TYPE: Debug
except: except:
@@ -53,11 +134,11 @@ branch_build_debug_for_centos7:
- /^rel*.*$/i - /^rel*.*$/i
- tags - tags
branch_build_release_for_centos7: branch_build_release_for_aarch64_rocky9:
stage: build stage: build
variables: variables:
BUILD_TYPE: RelWithDebInfo BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_centos7 extends: .build_by_travis_for_aarch64_rocky9
except: except:
- /^develop.*$/i - /^develop.*$/i
- /^master.*$/i - /^master.*$/i
@@ -65,56 +146,15 @@ branch_build_release_for_centos7:
- /^rel*.*$/i - /^rel*.*$/i
- tags - tags
develop_build_debug_for_centos7: release_build_debug_for_aarch64_rocky9:
stage: build
extends: .build_by_travis_for_centos7
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
ASAN_OPTION: ADDRESS
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: framework-testing-x86_64.el7
PULP3_DIST_NAME: framework-testing-x86_64.el7
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
develop_build_release_for_centos7:
stage: build
extends: .build_by_travis_for_centos7
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD_RPM: 1
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: framework-testing-x86_64.el7
PULP3_DIST_NAME: framework-testing-x86_64.el7
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
release_build_debug_for_centos7:
stage: build stage: build
variables: variables:
BUILD_TYPE: Debug BUILD_TYPE: Debug
PACKAGE: 1 PACKAGE: 1
UPLOAD_RPM: 1 UPLOAD_RPM: 1
PULP3_REPO_NAME: framework-stable-x86_64.el7 PULP3_REPO_NAME: framework-stable-aarch64.el9
PULP3_DIST_NAME: framework-stable-x86_64.el7 PULP3_DIST_NAME: framework-stable-aarch64.el9
extends: .build_by_travis_for_centos7 extends: .build_by_travis_for_aarch64_rocky9
artifacts: artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug" name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug"
paths: paths:
@@ -122,119 +162,19 @@ release_build_debug_for_centos7:
only: only:
- tags - tags
release_build_release_for_centos7: release_build_release_for_aarch64_rocky9:
stage: build stage: build
variables: variables:
BUILD_TYPE: RelWithDebInfo BUILD_TYPE: RelWithDebInfo
PACKAGE: 1 PACKAGE: 1
UPLOAD_RPM: 1 UPLOAD_RPM: 1
UPLOAD_SYMBOL_FILES: 1
SYMBOL_TARGET: libMESA_handle_logger SYMBOL_TARGET: libMESA_handle_logger
PULP3_REPO_NAME: framework-stable-x86_64.el7 PULP3_REPO_NAME: framework-stable-aarch64.el9
PULP3_DIST_NAME: framework-stable-x86_64.el7 PULP3_DIST_NAME: framework-stable-aarch64.el9
extends: .build_by_travis_for_centos7 extends: .build_by_travis_for_aarch64_rocky9
artifacts: artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release" name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release"
paths: paths:
- build/*.rpm - build/*.rpm
only: only:
- tags - tags
branch_build_debug_for_centos8:
stage: build
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: Debug
except:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
- tags
branch_build_release_for_centos8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_centos8
except:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
- tags
develop_build_debug_for_centos8:
stage: build
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
ASAN_OPTION: ADDRESS
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: framework-testing-x86_64.el8
PULP3_DIST_NAME: framework-testing-x86_64.el8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
develop_build_release_for_centos8:
stage: build
extends: .build_by_travis_for_centos8
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD_RPM: 1
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: framework-testing-x86_64.el8
PULP3_DIST_NAME: framework-testing-x86_64.el8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^master.*$/i
- /^dev*.*$/i
- /^rel*.*$/i
release_build_debug_for_centos8:
stage: build
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD_RPM: 1
PULP3_REPO_NAME: framework-stable-x86_64.el8
PULP3_DIST_NAME: framework-stable-x86_64.el8
extends: .build_by_travis_for_centos8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- tags
release_build_release_for_centos8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD_RPM: 1
UPLOAD_SYMBOL_FILES: 1
SYMBOL_TARGET: libMESA_handle_logger
PULP3_REPO_NAME: framework-stable-x86_64.el8
PULP3_DIST_NAME: framework-stable-x86_64.el8
extends: .build_by_travis_for_centos8
artifacts:
name: "MESA_handle_logger-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- tags

View File

@@ -69,4 +69,9 @@ install(FILES conf/MESA_handle_logger.conf DESTINATION /usr/lib/tmpfiles.d/ COMP
add_executable(${lib_name}_demo demo/test_handle_logger.c) add_executable(${lib_name}_demo demo/test_handle_logger.c)
target_link_libraries(${lib_name}_demo pthread ${lib_name}_shared) target_link_libraries(${lib_name}_demo pthread ${lib_name}_shared)
enable_testing()
add_test(NAME test_compatible_mode COMMAND MESA_handle_logger_demo 1 ./demo_zlog.conf 1 100 0)
add_test(NAME test_perf COMMAND MESA_handle_logger_demo 2 ./demo_zlog.conf 1 1000 0)
include(Package) include(Package)

View File

@@ -37,10 +37,6 @@ if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then
yum install -y $INSTALL_DEPENDENCY_LIBRARY yum install -y $INSTALL_DEPENDENCY_LIBRARY
fi fi
if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ] ;then
source /opt/rh/devtoolset-7/enable
fi
mkdir build || true mkdir build || true
cd build cd build
@@ -61,11 +57,4 @@ fi
if [ -n "${UPLOAD_RPM}" ]; then if [ -n "${UPLOAD_RPM}" ]; then
cp ~/rpm_upload_tools.py ./ cp ~/rpm_upload_tools.py ./
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
fi
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
rpm -i $SYMBOL_TARGET*debuginfo*.rpm
_symbol_file=`find /usr/lib/debug/ -name "$SYMBOL_TARGET*.so*.debug"`
cp $_symbol_file ${_symbol_file}info.${CI_COMMIT_SHORT_SHA}
sentry-cli upload-dif -t elf ${_symbol_file}info.${CI_COMMIT_SHORT_SHA}
fi fi

View File

@@ -106,6 +106,7 @@ int main(int argc, char ** args)
{ {
pthread_t t[MAX_THREAD_NUM]; pthread_t t[MAX_THREAD_NUM];
int i = 0; int i = 0;
int ret =0;
if (argc != 6) if (argc != 6)
{ {
@@ -136,26 +137,35 @@ int main(int argc, char ** args)
{ {
printf("get log sample_handle error\n"); printf("get log sample_handle error\n");
return -1; return -1;
} }
test_handle = MESA_create_runtime_log_handle("./log/test_log", RLOG_LV_DEBUG); test_handle = MESA_create_runtime_log_handle("./log/test_log", RLOG_LV_DEBUG);
if(test_handle == NULL) if (test_handle == NULL)
{ {
printf("get log test_handle error\n"); printf("get log test_handle error\n");
return -1; return -1;
} }
for(i = 0; i < g_thread_num; i++) for (i = 0; i < g_thread_num; i++)
{ {
pthread_create(&t[i], NULL, thread_logger, (void *)(unsigned long)(i)); pthread_create(&t[i], NULL, thread_logger, (void *)(unsigned long)(i));
} }
signal(SIGINT, sig_int_handler); signal(SIGINT, sig_int_handler);
signal(SIGHUP, sig_hup_handler); signal(SIGHUP, sig_hup_handler);
while(1)
; // 等待所有线程结束并回收
//MESA_destroy_runtime_log_handle(sample_handle); for (i = 0; i < g_thread_num; ++i) {
//MESA_destroy_runtime_log_handle(test_handle); ret = pthread_join(t[i], NULL);
//sample_handle = NULL; if (ret != 0) {
//test_handle = NULL; fprintf(stderr, "Failed to join thread %d\n", i);
return 0; return 1;
}
}
printf("All threads finished\n");
// MESA_destroy_runtime_log_handle(sample_handle);
// MESA_destroy_runtime_log_handle(test_handle);
// sample_handle = NULL;
// test_handle = NULL;
return 0;
} }

View File

@@ -23,21 +23,15 @@ int MESA_handle_runtime_log_creation(const char *conf_path);
int MESA_handle_runtime_log_reconstruction(const char *conf_path); int MESA_handle_runtime_log_reconstruction(const char *conf_path);
void MESA_handle_runtime_log_destruction(); void MESA_handle_runtime_log_destruction();
#define MESA_HANDLE_RUNTIME_LOG(handle, lv, mod, fmt, args...) \ #define MESA_HANDLE_RUNTIME_LOG(handle, level, module, format, ...) \
MESA_handle_runtime_log((handle), (lv), (mod), "file %s, line %d, " fmt, \ do \
__FILE__, __LINE__, ##args) { \
if (MESA_handle_runtime_log_level_enabled(handle, level)) \
{ \
MESA_handle_runtime_log(handle, level, module, "file %s, line %d, " format, \
/* __FILE__, __LINE__, ##__VA_ARGS__); \
#define MESA_HANDLE_RUNTIME_LOG_EXPAND(handle, level, module, fmt, ...) \ } \
{ \ } while (0)
if (MESA_handle_runtime_log_level_enabled(handle, level)) \
{ \
MESA_handle_runtime_log(handle, level, module, fmt, __VA_ARGS__); \
} \
}
*/
int MESA_handle_runtime_log_level_enabled(void *handle, const int level); int MESA_handle_runtime_log_level_enabled(void *handle, const int level);
/* /*