iSulad/0003-add-cpu-rt-ut.patch
zhangxiaoyu 0fe88d116c upgrade from upstream
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
(cherry picked from commit d5491fea9ae065ee392984598d2f8cfeafb44a62)
2023-02-22 15:59:30 +08:00

142 lines
4.9 KiB
Diff

From c798e4f1abb27d950af6698903891bd2f4dbc63e Mon Sep 17 00:00:00 2001
From: songbuhuang <544824346@qq.com>
Date: Mon, 30 Jan 2023 15:34:34 +0800
Subject: [PATCH 03/19] add cpu-rt ut
Signed-off-by: songbuhuang <544824346@qq.com>
---
test/CMakeLists.txt | 1 +
test/cgroup/CMakeLists.txt | 3 ++
test/cgroup/cpu/CMakeLists.txt | 28 +++++++++++++++
test/cgroup/cpu/cgroup_cpu_ut.cc | 61 ++++++++++++++++++++++++++++++++
4 files changed, 93 insertions(+)
create mode 100644 test/cgroup/CMakeLists.txt
create mode 100644 test/cgroup/cpu/CMakeLists.txt
create mode 100644 test/cgroup/cpu/cgroup_cpu_ut.cc
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 06adb602..ad348131 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -47,6 +47,7 @@ IF(ENABLE_UT)
add_subdirectory(sha256)
add_subdirectory(buffer)
add_subdirectory(console)
+ add_subdirectory(cgroup)
ENDIF(ENABLE_UT)
IF(ENABLE_FUZZ)
diff --git a/test/cgroup/CMakeLists.txt b/test/cgroup/CMakeLists.txt
new file mode 100644
index 00000000..d904a6a0
--- /dev/null
+++ b/test/cgroup/CMakeLists.txt
@@ -0,0 +1,3 @@
+project(iSulad_UT)
+
+add_subdirectory(cpu)
diff --git a/test/cgroup/cpu/CMakeLists.txt b/test/cgroup/cpu/CMakeLists.txt
new file mode 100644
index 00000000..159b0d85
--- /dev/null
+++ b/test/cgroup/cpu/CMakeLists.txt
@@ -0,0 +1,28 @@
+project(iSulad_UT)
+
+SET(EXE cgroup_cpu_ut)
+
+add_executable(${EXE}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils/path.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/err_msg.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/sysinfo.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/cmd/command_parser.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config/daemon_arguments.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config/isulad_config.c
+ cgroup_cpu_ut.cc)
+
+target_include_directories(${EXE} PUBLIC
+ ${GTEST_INCLUDE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../include
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cutils
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/common
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common
+ ${CMAKE_BINARY_DIR}/conf
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/config
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/cmd
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/cmd/isulad
+ )
+
+target_link_libraries(${EXE} ${GTEST_BOTH_LIBRARIES} ${GMOCK_LIBRARY} ${GMOCK_MAIN_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${ISULA_LIBUTILS_LIBRARY} libutils_ut -lgrpc++ -lprotobuf -lcrypto -lyajl -lz)
+add_test(NAME ${EXE} COMMAND ${EXE} --gtest_output=xml:${EXE}-Results.xml)
diff --git a/test/cgroup/cpu/cgroup_cpu_ut.cc b/test/cgroup/cpu/cgroup_cpu_ut.cc
new file mode 100644
index 00000000..1cfdf86f
--- /dev/null
+++ b/test/cgroup/cpu/cgroup_cpu_ut.cc
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
+ * iSulad 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.
+ * Description: specs unit test
+ * Author: huangsong
+ * Create: 2023-01-29
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <gtest/gtest.h>
+#include "daemon_arguments.h"
+#include "isulad_config.h"
+#include "utils.h"
+
+struct service_arguments *new_args(int64_t cpu_rt_period, int64_t cpu_rt_runtime)
+{
+ struct service_arguments *args = (struct service_arguments *)util_common_calloc_s(sizeof(struct service_arguments));
+ if (args == nullptr) {
+ std::cerr << "Out of memory" << std::endl;
+ return nullptr;
+ }
+
+ args->json_confs = (isulad_daemon_configs *)util_common_calloc_s(sizeof(isulad_daemon_configs));
+ if (args->json_confs == nullptr) {
+ std::cerr << "Out of memory" << std::endl;
+ free(args);
+ return nullptr;
+ }
+
+ args->json_confs->cpu_rt_period = cpu_rt_period;
+ args->json_confs->cpu_rt_runtime = cpu_rt_runtime;
+
+ return args;
+}
+
+TEST(CgroupCpuUnitTest, test_conf_get_cgroup_cpu_rt)
+{
+ int64_t cpu_rt_period = 0;
+ int64_t cpu_rt_runtime = 0;
+
+ ASSERT_EQ(conf_get_cgroup_cpu_rt(nullptr, nullptr), -1);
+ ASSERT_EQ(conf_get_cgroup_cpu_rt(&cpu_rt_period, nullptr), -1);
+ ASSERT_EQ(conf_get_cgroup_cpu_rt(nullptr, &cpu_rt_runtime), -1);
+
+ struct service_arguments *args = new_args(cpu_rt_period, cpu_rt_runtime);
+ ASSERT_EQ(save_args_to_conf(args), 0);
+ ASSERT_EQ(conf_get_cgroup_cpu_rt(&cpu_rt_period, &cpu_rt_runtime), 0);
+ ASSERT_EQ(cpu_rt_period, 0);
+ ASSERT_EQ(cpu_rt_runtime, 0);
+
+}
+
+
--
2.25.1