summaryrefslogtreecommitdiff
path: root/0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch
diff options
context:
space:
mode:
Diffstat (limited to '0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch')
-rw-r--r--0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch262
1 files changed, 262 insertions, 0 deletions
diff --git a/0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch b/0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch
new file mode 100644
index 0000000..752c17f
--- /dev/null
+++ b/0182-fix-error-macro-isolation-memory-leak-and-meanless-r.patch
@@ -0,0 +1,262 @@
+From 98ae352fb43f3bf5aa1ac1ea2d3d6cee61cf856e Mon Sep 17 00:00:00 2001
+From: zhongtao <zhongtao17@huawei.com>
+Date: Mon, 20 Jan 2025 22:44:56 +0800
+Subject: [PATCH 182/198] fix error macro isolation/ memory leak and meanless
+ reply file in sandbox ut
+
+Signed-off-by: zhongtao <zhongtao17@huawei.com>
+---
+ test/sandbox/CMakeLists.txt | 2 +-
+ test/sandbox/controller/CMakeLists.txt | 7 ++++--
+ .../manager/controller_manager_ut.cc | 17 +++++++-------
+ .../sandboxer_controller_ut.cc | 1 +
+ .../controller/shim/shim_controller_ut.cc | 3 +++
+ test/sandbox/sandbox/CMakeLists.txt | 22 ++++++++++++++-----
+ test/sandbox/sandbox_manager/CMakeLists.txt | 12 ++++++++--
+ .../sandbox_manager/sandbox_manager_ut.cc | 2 ++
+ 8 files changed, 48 insertions(+), 18 deletions(-)
+
+diff --git a/test/sandbox/CMakeLists.txt b/test/sandbox/CMakeLists.txt
+index 38d7ccb9..1a9fedf6 100644
+--- a/test/sandbox/CMakeLists.txt
++++ b/test/sandbox/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ project(iSulad_UT)
+
+-if (ENABLE_SANDBOXER)
++if (ENABLE_CRI_API_V1)
+ add_subdirectory(controller)
+ add_subdirectory(sandbox_manager)
+ add_subdirectory(sandbox)
+diff --git a/test/sandbox/controller/CMakeLists.txt b/test/sandbox/controller/CMakeLists.txt
+index d201872b..4273c2bd 100644
+--- a/test/sandbox/controller/CMakeLists.txt
++++ b/test/sandbox/controller/CMakeLists.txt
+@@ -2,6 +2,9 @@ project(iSulad_UT)
+
+ list(APPEND grpc_sandbox_type_srcs ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/v1/api_v1.pb.cc)
+ list(APPEND grpc_sandbox_type_srcs ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/gogo.pb.cc)
+-add_subdirectory(sandboxer)
+-add_subdirectory(manager)
++
++if (ENABLE_SANDBOXER)
++ add_subdirectory(sandboxer)
++ add_subdirectory(manager)
++endif()
+ add_subdirectory(shim)
+diff --git a/test/sandbox/controller/manager/controller_manager_ut.cc b/test/sandbox/controller/manager/controller_manager_ut.cc
+index 705baaca..c60f8818 100644
+--- a/test/sandbox/controller/manager/controller_manager_ut.cc
++++ b/test/sandbox/controller/manager/controller_manager_ut.cc
+@@ -16,12 +16,13 @@
+ #include <memory>
+ #include "gtest/gtest.h"
+ #include "sandboxer_controller.h"
+-#include "grpc_sandboxer_client_mock.h"
+ #include "controller_manager.h"
+ #include "controller_common.h"
+ #include "utils.h"
+ #include "isulad_config_mock.h"
+ #include "shim_controller.h"
++#include "controller.h"
++#include "grpc_sandboxer_client_mock.h"
+
+ class ControllerManagerWrapper : public sandbox::ControllerManager {
+ public:
+@@ -81,7 +82,7 @@ TEST_F(ControllerManagerTest, InitTestSucceed)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
+ EXPECT_TRUE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_TRUE(err.Empty());
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ FreeDummyServerconf(args);
+ }
+@@ -96,7 +97,7 @@ TEST_F(ControllerManagerTest, InitTestSucceedWithEmptyConfig)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
+ EXPECT_TRUE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_TRUE(err.Empty());
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ FreeDummyServerconf(args);
+ }
+@@ -111,7 +112,7 @@ TEST_F(ControllerManagerTest, InitTestFailedWithEmptySandboxerConfig)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
+ EXPECT_FALSE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_THAT(err.GetCMessage(), testing::HasSubstr("Failed to load sandboxer controllers config"));
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ FreeDummyServerconf(args);
+ }
+@@ -126,7 +127,7 @@ TEST_F(ControllerManagerTest, InitTestSucceedWithNullConfig)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
+ EXPECT_TRUE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_TRUE(err.Empty());
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ FreeDummyServerconf(args);
+ }
+@@ -142,7 +143,7 @@ TEST_F(ControllerManagerTest, InitTestFailedWithDupShimConfig)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
+ EXPECT_FALSE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_THAT(err.GetCMessage(), testing::HasSubstr("Sandboxer controller already registered, sandboxer:"));
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ FreeDummyServerconf(args);
+ }
+
+@@ -191,7 +192,7 @@ TEST_F(ControllerManagerTest, InitTestFailedWithDupInit)
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(2).WillRepeatedly(testing::Return(args));
+ EXPECT_TRUE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_TRUE(err.Empty());
+- EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_NE(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ EXPECT_FALSE(ControllerManagerWrapper::GetInstance()->Init(err));
+ EXPECT_THAT(err.GetCMessage(), testing::HasSubstr("Sandboxer controller already registered,"));
+@@ -211,6 +212,6 @@ TEST_F(ControllerManagerTest, InitTestFailedWithNullConf)
+ TEST_F(ControllerManagerTest, FindControllerTestFailedBeforeInit)
+ {
+ Errors err;
+- EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController(SHIM_CONTROLLER_NAME), nullptr);
++ EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController(sandbox::SHIM_CONTROLLER_NAME), nullptr);
+ EXPECT_EQ(ControllerManagerWrapper::GetInstance()->GetController("vmm"), nullptr);
+ }
+diff --git a/test/sandbox/controller/sandboxer/sandboxer_controller/sandboxer_controller_ut.cc b/test/sandbox/controller/sandboxer/sandboxer_controller/sandboxer_controller_ut.cc
+index 726464e8..d31d5b95 100644
+--- a/test/sandbox/controller/sandboxer/sandboxer_controller/sandboxer_controller_ut.cc
++++ b/test/sandbox/controller/sandboxer/sandboxer_controller/sandboxer_controller_ut.cc
+@@ -32,6 +32,7 @@ protected:
+ void TearDown() override
+ {
+ m_contoller.reset(nullptr);
++ MockSandboxerClient_SetMock(nullptr);
+ }
+
+ std::string m_sandboxer = "sandboxer";
+diff --git a/test/sandbox/controller/shim/shim_controller_ut.cc b/test/sandbox/controller/shim/shim_controller_ut.cc
+index e43cc645..75a51797 100644
+--- a/test/sandbox/controller/shim/shim_controller_ut.cc
++++ b/test/sandbox/controller/shim/shim_controller_ut.cc
+@@ -41,6 +41,9 @@ protected:
+ void TearDown() override
+ {
+ m_contoller.reset(nullptr);
++ MockCallback_SetMock(nullptr);
++ MockServiceContainerApi_SetMock(nullptr);
++ MockImageApi_SetMock(nullptr);
+ }
+
+ std::string m_sandboxer = "shim";
+diff --git a/test/sandbox/sandbox/CMakeLists.txt b/test/sandbox/sandbox/CMakeLists.txt
+index 6dd6c3ee..d033c93f 100644
+--- a/test/sandbox/sandbox/CMakeLists.txt
++++ b/test/sandbox/sandbox/CMakeLists.txt
+@@ -4,8 +4,24 @@ SET(EXE sandbox_ut)
+
+ aux_source_directory(${CMAKE_BINARY_DIR}/grpc/src/api/services/sandbox/sandbox/types sandbox_type_srcs)
+
++if(ENABLE_SANDBOXER)
++ set(sandboxer_srcs
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller/sandboxer_controller.cc
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/grpc_sandboxer_client_mock.cc
++ )
++ set(sandbox_dir
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller/client
++ )
++else()
++ set(sandboxer_srcs "")
++ set(sandbox_dir "")
++endif()
++
+ add_executable(${EXE}
+ ${sandbox_type_srcs}
++ ${sandboxer_srcs}
+ ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/v1/api_v1.pb.cc
+ ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/gogo.pb.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cpputils/errors.cc
+@@ -15,12 +31,10 @@ add_executable(${EXE}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandbox.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandbox_task.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/controller_manager.cc
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller/sandboxer_controller.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/id_name_manager.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config/isulad_config.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/sandbox/controller/controller_common.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config/daemon_arguments.c
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/grpc_sandboxer_client_mock.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/shim_controller_mock.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/mailbox_mock.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/err_msg.c
+@@ -28,6 +42,7 @@ add_executable(${EXE}
+
+ target_include_directories(${EXE} PUBLIC
+ ${GTEST_INCLUDE_DIR}
++ ${sandbox_dir}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config
+@@ -37,9 +52,6 @@ target_include_directories(${EXE} PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/shim
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/shim/controller
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller/client
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cpputils
+diff --git a/test/sandbox/sandbox_manager/CMakeLists.txt b/test/sandbox/sandbox_manager/CMakeLists.txt
+index a7dd8c9d..45c55300 100644
+--- a/test/sandbox/sandbox_manager/CMakeLists.txt
++++ b/test/sandbox/sandbox_manager/CMakeLists.txt
+@@ -4,8 +4,18 @@ SET(EXE sandbox_manager_ut)
+
+ aux_source_directory(${CMAKE_BINARY_DIR}/grpc/src/api/services/sandbox/sandbox/types sandbox_type_srcs)
+
++if(ENABLE_SANDBOXER)
++ set(sandboxer_srcs
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandboxer/controller/sandboxer_controller.cc
++ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/grpc_sandboxer_client_mock.cc
++ )
++else()
++ set(sandboxer_srcs "")
++endif()
++
+ add_executable(${EXE}
+ ${sandbox_type_srcs}
++ ${sandboxer_srcs}
+ ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/v1/api_v1.pb.cc
+ ${CMAKE_BINARY_DIR}/grpc/src/api/services/cri/gogo.pb.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cpputils/errors.cc
+@@ -19,8 +29,6 @@ add_executable(${EXE}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/err_msg.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/config/daemon_arguments.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/controller_manager.cc
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/grpc_sandboxer_client_mock.cc
+- ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/sandboxer_controller_mock.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/shim_controller_mock.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/sandbox_manager_ut.cc)
+
+diff --git a/test/sandbox/sandbox_manager/sandbox_manager_ut.cc b/test/sandbox/sandbox_manager/sandbox_manager_ut.cc
+index 9e762039..276b6f4c 100644
+--- a/test/sandbox/sandbox_manager/sandbox_manager_ut.cc
++++ b/test/sandbox/sandbox_manager/sandbox_manager_ut.cc
+@@ -154,7 +154,9 @@ TEST_F(SandboxManagerTest, TestCreateSandbox)
+ "{\"cri-sandboxers\": {\"kuasar\": {\"name\": \"vmm\",\"address\": \"/run/vmm-sandboxer.sock\"}}}";
+ struct service_arguments *args = CreateDummyServerConf(daemonConfig);
+ ASSERT_NE(args, nullptr);
++#ifdef ENABLE_SANDBOXER
+ EXPECT_CALL(*isuladConfMock, ConfGetServerConf()).Times(1).WillOnce(testing::Return(args));
++#endif
+ EXPECT_TRUE(ControllerManager::GetInstance()->Init(error));
+ EXPECT_TRUE(error.Empty());
+
+--
+2.34.1
+