Sync the features and bug fixed in the etmem source repository. Signed-off-by: liubo <liubo254@huawei.com> (cherry picked from commit 07dd6a411bce9ed3d9f617a6f01ae076e24a3adf)
254 lines
10 KiB
Diff
254 lines
10 KiB
Diff
From 531e313796c9bddc1571f78e858c5bc431b65068 Mon Sep 17 00:00:00 2001
|
|
From: liubo <liubo254@huawei.com>
|
|
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 <sys/file.h>
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <string.h>
|
|
+
|
|
+#include "etmemd_log.h"
|
|
+
|
|
+#include <CUnit/Basic.h>
|
|
+#include <CUnit/Automated.h>
|
|
+#include <CUnit/Console.h>
|
|
+
|
|
+#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
|
|
|