From 531e313796c9bddc1571f78e858c5bc431b65068 Mon Sep 17 00:00:00 2001 From: liubo Date: Tue, 14 Dec 2021 11:09:51 +0800 Subject: [PATCH 08/33] add code of testcase for etmem log ops --- .../test/etmem_common_func_llt_test/CMakeLists.txt | 3 +- .../etmem_common_func_llt.c | 3 +- etmem/test/etmem_log_ops_llt_test/CMakeLists.txt | 26 +++++ .../etmem_log_ops_llt_test/etmem_log_ops_llt.c | 112 +++++++++++++++++++++ .../test/etmem_project_ops_llt_test/CMakeLists.txt | 3 +- .../etmem_project_ops_llt.c | 3 +- etmem/test/etmem_scan_ops_llt_test/CMakeLists.txt | 4 +- .../etmem_scan_ops_llt_test/etmem_scan_ops_llt.c | 3 +- 8 files changed, 147 insertions(+), 10 deletions(-) create mode 100644 etmem/test/etmem_log_ops_llt_test/CMakeLists.txt create mode 100644 etmem/test/etmem_log_ops_llt_test/etmem_log_ops_llt.c diff --git a/etmem/test/etmem_common_func_llt_test/CMakeLists.txt b/etmem/test/etmem_common_func_llt_test/CMakeLists.txt index be3b365..205d460 100644 --- a/etmem/test/etmem_common_func_llt_test/CMakeLists.txt +++ b/etmem/test/etmem_common_func_llt_test/CMakeLists.txt @@ -21,7 +21,6 @@ INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS}) SET(EXE etmem_common_func_llt) -add_executable(${EXE} -etmem_common_func_llt.c) +add_executable(${EXE} etmem_common_func_llt.c) target_link_libraries(${EXE} cunit ${BUILD_DIR}/lib/libetmemd.so pthread dl rt boundscheck numa ${GLIB2_LIBRARIES}) diff --git a/etmem/test/etmem_common_func_llt_test/etmem_common_func_llt.c b/etmem/test/etmem_common_func_llt_test/etmem_common_func_llt.c index 2bb5b11..f195d4d 100644 --- a/etmem/test/etmem_common_func_llt_test/etmem_common_func_llt.c +++ b/etmem/test/etmem_common_func_llt_test/etmem_common_func_llt.c @@ -300,7 +300,8 @@ int main(int argc, const char **argv) CU_console_run_tests(); break; default: - printf("not support cunit mode, only support: 0 or 1\n"); + printf("not support cunit mode, only support: " + "0 for CUNIT_SCREEN, 1 for CUNIT_XMLFILE, 2 for CUNIT_CONSOLE\n"); goto ERROR; } diff --git a/etmem/test/etmem_log_ops_llt_test/CMakeLists.txt b/etmem/test/etmem_log_ops_llt_test/CMakeLists.txt new file mode 100644 index 0000000..322fe0f --- /dev/null +++ b/etmem/test/etmem_log_ops_llt_test/CMakeLists.txt @@ -0,0 +1,26 @@ +# /****************************************************************************** +# * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved. +# * etmem is licensed under the Mulan PSL v2. +# * You can use this software according to the terms and conditions of the Mulan PSL v2. +# * You may obtain a copy of Mulan PSL v2 at: +# * http://license.coscl.org.cn/MulanPSL2 +# * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR +# * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR +# * PURPOSE. +# * See the Mulan PSL v2 for more details. +# * Author: liubo +# * Create: 2021-12-10 +# * Description: CMakefileList for etmem_log_ops_llt to compile +# ******************************************************************************/ + +project(etmem) + +INCLUDE_DIRECTORIES(../../inc/etmem_inc) +INCLUDE_DIRECTORIES(../../inc/etmemd_inc) +INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS}) + +SET(EXE etmem_log_ops_llt) + +add_executable(${EXE} etmem_log_ops_llt.c) + +target_link_libraries(${EXE} cunit ${BUILD_DIR}/lib/libetmemd.so pthread dl rt boundscheck numa ${GLIB2_LIBRARIES}) diff --git a/etmem/test/etmem_log_ops_llt_test/etmem_log_ops_llt.c b/etmem/test/etmem_log_ops_llt_test/etmem_log_ops_llt.c new file mode 100644 index 0000000..e9a7402 --- /dev/null +++ b/etmem/test/etmem_log_ops_llt_test/etmem_log_ops_llt.c @@ -0,0 +1,112 @@ +/****************************************************************************** + * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved. + * etmem is licensed under the Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * http://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR + * PURPOSE. + * See the Mulan PSL v2 for more details. + * Author: liubo + * Create: 2021-12-10 + * Description: This is a source file of the unit test for log functions in etmem. + ******************************************************************************/ + +#include +#include +#include +#include + +#include "etmemd_log.h" + +#include +#include +#include + +#define ETMEMD_LOG_WRONG (-1) + +static void test_basic_log_level(void) +{ + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_WRONG), -1); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_DEBUG), 0); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_INFO), 0); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_WARN), 0); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_ERR), 0); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_INVAL), -1); +} + +static void test_etmem_log_print(void) +{ + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_DEBUG), 0); + etmemd_log(ETMEMD_LOG_DEBUG, "test_etmem_log_debug_level\n"); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_INFO), 0); + etmemd_log(ETMEMD_LOG_INFO, "test_etmem_log_info_level\n"); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_WARN), 0); + etmemd_log(ETMEMD_LOG_WARN, "test_etmem_log_warn_level\n"); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_ERR), 0); + etmemd_log(ETMEMD_LOG_ERR, "test_etmem_log_error_level\n"); + CU_ASSERT_EQUAL(etmemd_init_log_level(ETMEMD_LOG_INVAL), -1); + etmemd_log(ETMEMD_LOG_INVAL, "test_etmem_log_interval_level\n"); +} + +typedef enum { + CUNIT_SCREEN = 0, + CUNIT_XMLFILE, + CUNIT_CONSOLE +} cu_run_mode; + +int main(int argc, const char **argv) +{ + CU_pSuite suite; + CU_pTest pTest; + unsigned int num_failures; + cu_run_mode cunit_mode = CUNIT_SCREEN; + int error_num; + + if (argc > 1) { + cunit_mode = atoi(argv[1]); + } + + if (CU_initialize_registry() != CUE_SUCCESS) { + return -CU_get_error(); + } + + suite = CU_add_suite("etmem_log_ops", NULL, NULL); + if (suite == NULL) { + goto ERROR; + } + + if (CU_ADD_TEST(suite, test_basic_log_level) == NULL || + CU_ADD_TEST(suite, test_etmem_log_print) == NULL) { + printf("CU_ADD_TEST fail. \n"); + goto ERROR; + } + + switch (cunit_mode) { + case CUNIT_SCREEN: + CU_basic_set_mode(CU_BRM_VERBOSE); + CU_basic_run_tests(); + break; + case CUNIT_XMLFILE: + CU_set_output_filename("etmemd_log.c"); + CU_automated_run_tests(); + break; + case CUNIT_CONSOLE: + CU_console_run_tests(); + break; + default: + printf("not support cunit mode, only support: " + "0 for CUNIT_SCREEN, 1 for CUNIT_XMLFILE, 2 for CUNIT_CONSOLE\n"); + goto ERROR; + } + + num_failures = CU_get_number_of_failures(); + CU_cleanup_registry(); + return num_failures; + +ERROR: + error_num = CU_get_error(); + CU_cleanup_registry(); + return -error_num; +} diff --git a/etmem/test/etmem_project_ops_llt_test/CMakeLists.txt b/etmem/test/etmem_project_ops_llt_test/CMakeLists.txt index 70cd530..ff3f310 100644 --- a/etmem/test/etmem_project_ops_llt_test/CMakeLists.txt +++ b/etmem/test/etmem_project_ops_llt_test/CMakeLists.txt @@ -22,7 +22,6 @@ INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS}) SET(EXE etmem_project_ops_llt) -add_executable(${EXE} -etmem_project_ops_llt.c) +add_executable(${EXE} etmem_project_ops_llt.c) target_link_libraries(${EXE} cunit ${BUILD_DIR}/lib/libetmemd.so ${BUILD_DIR}/lib/libtest.so pthread dl rt boundscheck numa ${GLIB2_LIBRARIES}) diff --git a/etmem/test/etmem_project_ops_llt_test/etmem_project_ops_llt.c b/etmem/test/etmem_project_ops_llt_test/etmem_project_ops_llt.c index edd2330..a01e8e8 100644 --- a/etmem/test/etmem_project_ops_llt_test/etmem_project_ops_llt.c +++ b/etmem/test/etmem_project_ops_llt_test/etmem_project_ops_llt.c @@ -453,7 +453,8 @@ int main(int argc, const char **argv) CU_console_run_tests(); break; default: - printf("not support cunit mode, only support: 0 or 1\n"); + printf("not support cunit mode, only support: " + "0 for CUNIT_SCREEN, 1 for CUNIT_XMLFILE, 2 for CUNIT_CONSOLE\n"); goto ERROR; } diff --git a/etmem/test/etmem_scan_ops_llt_test/CMakeLists.txt b/etmem/test/etmem_scan_ops_llt_test/CMakeLists.txt index c6ff96c..b5378b8 100644 --- a/etmem/test/etmem_scan_ops_llt_test/CMakeLists.txt +++ b/etmem/test/etmem_scan_ops_llt_test/CMakeLists.txt @@ -21,8 +21,6 @@ INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS}) SET(EXE etmem_scan_ops_llt) -add_executable(etmem_scan_ops_llt - etmem_scan_ops_llt.c - ) +add_executable(${EXE} etmem_scan_ops_llt.c) target_link_libraries(${EXE} cunit ${BUILD_DIR}/lib/libetmemd.so pthread dl rt libboundscheck numa ${GLIB2_LIBRARIES}) diff --git a/etmem/test/etmem_scan_ops_llt_test/etmem_scan_ops_llt.c b/etmem/test/etmem_scan_ops_llt_test/etmem_scan_ops_llt.c index 1856072..0cd2ecc 100644 --- a/etmem/test/etmem_scan_ops_llt_test/etmem_scan_ops_llt.c +++ b/etmem/test/etmem_scan_ops_llt_test/etmem_scan_ops_llt.c @@ -368,7 +368,8 @@ int main(int argc, const char **argv) CU_console_run_tests(); break; default: - printf("not support cunit mode, only support: 0 or 1\n"); + printf("not support cunit mode, only support: " + "0 for CUNIT_SCREEN, 1 for CUNIT_XMLFILE, 2 for CUNIT_CONSOLE\n"); goto ERROR; } -- 1.8.3.1