diff options
Diffstat (limited to '0168-UT-del-shim_sandbox-and-change-sandbox-ops.patch')
-rw-r--r-- | 0168-UT-del-shim_sandbox-and-change-sandbox-ops.patch | 348 |
1 files changed, 348 insertions, 0 deletions
diff --git a/0168-UT-del-shim_sandbox-and-change-sandbox-ops.patch b/0168-UT-del-shim_sandbox-and-change-sandbox-ops.patch new file mode 100644 index 0000000..e9bba80 --- /dev/null +++ b/0168-UT-del-shim_sandbox-and-change-sandbox-ops.patch @@ -0,0 +1,348 @@ +From 1e9031cc064f6980250287641e6b3311af755485 Mon Sep 17 00:00:00 2001 +From: liuxu <liuxu156@huawei.com> +Date: Sat, 30 Nov 2024 09:50:33 +0800 +Subject: [PATCH 02/11] UT: del shim_sandbox and change sandbox ops + +Signed-off-by: liuxu <liuxu156@huawei.com> +--- + test/mocks/sandbox_mock.cc | 26 ++++++++ + test/mocks/sandbox_mock.h | 9 +++ + test/mocks/sandboxer_sandbox_mock.cc | 35 +++++----- + test/mocks/sandboxer_sandbox_mock.h | 13 ++-- + test/mocks/shim_sandbox_mock.cc | 72 --------------------- + test/mocks/shim_sandbox_mock.h | 43 ------------ + test/sandbox/sandbox/CMakeLists.txt | 1 - + test/sandbox/sandbox/sandbox_ut.cc | 5 +- + test/sandbox/sandbox_manager/CMakeLists.txt | 1 - + 9 files changed, 61 insertions(+), 144 deletions(-) + delete mode 100644 test/mocks/shim_sandbox_mock.cc + delete mode 100644 test/mocks/shim_sandbox_mock.h + +diff --git a/test/mocks/sandbox_mock.cc b/test/mocks/sandbox_mock.cc +index 9db57a93..cce5a1b6 100644 +--- a/test/mocks/sandbox_mock.cc ++++ b/test/mocks/sandbox_mock.cc +@@ -221,4 +221,30 @@ bool Sandbox::Remove(Errors &error) + } + return true; + } ++ ++void Sandbox::LoadSandboxTasks() {} ++ ++auto Sandbox::PrepareContainer(const char *containerId, const char *baseFs, ++ const oci_runtime_spec *ociSpec, ++ const char *consoleFifos[]) -> int ++{ ++ return 0; ++} ++ ++auto Sandbox::PrepareExec(const char *containerId, const char *execId, ++ defs_process *processSpec, const char *consoleFifos[]) -> int ++{ ++ return 0; ++} ++ ++auto Sandbox::PurgeContainer(const char *containerId) -> int ++{ ++ return 0; ++} ++ ++auto Sandbox::PurgeExec(const char *containerId, const char *execId) -> int ++{ ++ return 0; ++} ++ + } +\ No newline at end of file +diff --git a/test/mocks/sandbox_mock.h b/test/mocks/sandbox_mock.h +index 98f40ad2..4908bcd9 100644 +--- a/test/mocks/sandbox_mock.h ++++ b/test/mocks/sandbox_mock.h +@@ -58,6 +58,15 @@ public: + MOCK_METHOD2(Stop, bool(uint32_t timeoutSecs, Errors &error)); + MOCK_METHOD1(Remove, bool(Errors &error)); + MOCK_METHOD1(Status, void(runtime::v1::PodSandboxStatus &status)); ++ ++ MOCK_METHOD0(LoadSandboxTasks, void()); ++ MOCK_METHOD4(PrepareContainer, int(const char *containerId, const char *baseFs, ++ const oci_runtime_spec *ociSpec, ++ const char *consoleFifos[])); ++ MOCK_METHOD4(PrepareExec, int(const char *containerId, const char *execId, ++ defs_process *processSpec, const char *consoleFifos[])); ++ MOCK_METHOD1(PurgeContainer, int(const char *containerId)); ++ MOCK_METHOD2(PurgeExec, int(const char *containerId, const char *execId)); + }; + + void MockSandbox_SetMock(MockSandbox *mock); +diff --git a/test/mocks/sandboxer_sandbox_mock.cc b/test/mocks/sandboxer_sandbox_mock.cc +index cce58842..6ebe2820 100644 +--- a/test/mocks/sandboxer_sandbox_mock.cc ++++ b/test/mocks/sandboxer_sandbox_mock.cc +@@ -33,40 +33,39 @@ void MockSandboxerSandbox_SetMock(MockSandboxerSandbox *mock) + + void SandboxerSandbox::LoadSandboxTasks() {} + +-auto SandboxerSandbox::SaveSandboxTasks() -> bool ++auto SandboxerSandbox::PrepareContainer(const char *containerId, const char *baseFs, ++ const oci_runtime_spec *ociSpec, ++ const char *consoleFifos[]) -> int + { + if (g_sandboxer_sandbox_mock != nullptr) { +- return g_sandboxer_sandbox_mock->SaveSandboxTasks(); ++ return g_sandboxer_sandbox_mock->PrepareContainer(containerId, baseFs, ociSpec, consoleFifos); + } +- return true; +-} ++ return 0; ++} + +-auto SandboxerSandbox::AddSandboxTasks(sandbox_task *task) -> bool ++auto SandboxerSandbox::PrepareExec(const char *containerId, const char *execId, ++ defs_process *processSpec, const char *consoleFifos[]) -> int + { + if (g_sandboxer_sandbox_mock != nullptr) { +- return g_sandboxer_sandbox_mock->AddSandboxTasks(task); ++ return g_sandboxer_sandbox_mock->PrepareExec(containerId, execId, processSpec, consoleFifos); + } +- return true; +-} ++ return 0; ++} + +-auto SandboxerSandbox::GetAnySandboxTasks() -> std::string ++auto SandboxerSandbox::PurgeContainer(const char *containerId) -> int + { + if (g_sandboxer_sandbox_mock != nullptr) { +- return g_sandboxer_sandbox_mock->GetAnySandboxTasks(); ++ return g_sandboxer_sandbox_mock->PurgeContainer(containerId); + } +- return std::string("Nothing for sandboxer."); ++ return 0; + } + +-void SandboxerSandbox::DeleteSandboxTasks(const char *containerId) {} +- +-auto SandboxerSandbox::AddSandboxTasksProcess(const char *containerId, sandbox_process *processes) -> bool ++auto SandboxerSandbox::PurgeExec(const char *containerId, const char *execId) -> int + { + if (g_sandboxer_sandbox_mock != nullptr) { +- return g_sandboxer_sandbox_mock->AddSandboxTasksProcess(containerId, processes); ++ return g_sandboxer_sandbox_mock->PurgeExec(containerId, execId); + } +- return true; ++ return 0; + } + +-void SandboxerSandbox::DeleteSandboxTasksProcess(const char *containerId, const char *execId) {} +- + } +\ No newline at end of file +diff --git a/test/mocks/sandboxer_sandbox_mock.h b/test/mocks/sandboxer_sandbox_mock.h +index 4f76e5fc..020fe4d6 100644 +--- a/test/mocks/sandboxer_sandbox_mock.h ++++ b/test/mocks/sandboxer_sandbox_mock.h +@@ -28,12 +28,13 @@ public: + virtual ~MockSandboxerSandbox() = default; + + MOCK_METHOD0(LoadSandboxTasks, void()); +- MOCK_METHOD0(SaveSandboxTasks, bool()); +- MOCK_METHOD1(AddSandboxTasks, bool(sandbox_task *task)); +- MOCK_METHOD0(GetAnySandboxTasks, std::string()); +- MOCK_METHOD1(DeleteSandboxTasks, void(const char *containerId)); +- MOCK_METHOD2(AddSandboxTasksProcess, bool(const char *containerId, sandbox_process *processes)); +- MOCK_METHOD2(DeleteSandboxTasksProcess, void(const char *containerId, const char *execId)); ++ MOCK_METHOD4(PrepareContainer, int(const char *containerId, const char *baseFs, ++ const oci_runtime_spec *ociSpec, ++ const char *consoleFifos[])); ++ MOCK_METHOD4(PrepareExec, int(const char *containerId, const char *execId, ++ defs_process *processSpec, const char *consoleFifos[])); ++ MOCK_METHOD1(PurgeContainer, int(const char *containerId)); ++ MOCK_METHOD2(PurgeExec, int(const char *containerId, const char *execId)); + }; + + void MockSandboxerSandbox_SetMock(MockSandboxerSandbox *mock); +diff --git a/test/mocks/shim_sandbox_mock.cc b/test/mocks/shim_sandbox_mock.cc +deleted file mode 100644 +index ccefb424..00000000 +--- a/test/mocks/shim_sandbox_mock.cc ++++ /dev/null +@@ -1,72 +0,0 @@ +-/****************************************************************************** +- * 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. +- * Author: liuxu +- * Create: 2024-11-21 +- * Description: provide sandbox mock +- ******************************************************************************/ +- +-#include <gmock/gmock.h> +-#include "shim_sandbox_mock.h" +- +-namespace sandbox { +-MockShimSandbox *g_shim_sandbox_mock = nullptr; +- +-ShimSandbox::ShimSandbox(const std::string id, const std::string &rootdir, const std::string &statedir, const std::string name, +- const RuntimeInfo info, std::string netMode, std::string netNsPath, const runtime::v1::PodSandboxConfig sandboxConfig, +- std::string image):Sandbox(id, rootdir, statedir, name, info, netMode, +- netNsPath, sandboxConfig, image) +-{ +-} +- +-void MockShimSandbox_SetMock(MockShimSandbox *mock) +-{ +- g_shim_sandbox_mock = mock; +-} +- +-void ShimSandbox::LoadSandboxTasks() {} +- +-auto ShimSandbox::SaveSandboxTasks() -> bool +-{ +- if (g_shim_sandbox_mock != nullptr) { +- return g_shim_sandbox_mock->SaveSandboxTasks(); +- } +- return true; +-} +- +-auto ShimSandbox::AddSandboxTasks(sandbox_task *task) -> bool +-{ +- if (g_shim_sandbox_mock != nullptr) { +- return g_shim_sandbox_mock->AddSandboxTasks(task); +- } +- return true; +-} +- +-auto ShimSandbox::GetAnySandboxTasks() -> std::string +-{ +- if (g_shim_sandbox_mock != nullptr) { +- return g_shim_sandbox_mock->GetAnySandboxTasks(); +- } +- return std::string("Nothing for shim."); +-} +- +-void ShimSandbox::DeleteSandboxTasks(const char *containerId) {} +- +-auto ShimSandbox::AddSandboxTasksProcess(const char *containerId, sandbox_process *processes) -> bool +-{ +- if (g_shim_sandbox_mock != nullptr) { +- return g_shim_sandbox_mock->AddSandboxTasksProcess(containerId, processes); +- } +- return true; +-} +- +-void ShimSandbox::DeleteSandboxTasksProcess(const char *containerId, const char *execId) {} +- +-} +\ No newline at end of file +diff --git a/test/mocks/shim_sandbox_mock.h b/test/mocks/shim_sandbox_mock.h +deleted file mode 100644 +index 1b16a4cc..00000000 +--- a/test/mocks/shim_sandbox_mock.h ++++ /dev/null +@@ -1,43 +0,0 @@ +-/****************************************************************************** +- * 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. +- * Author: liuxu +- * Create: 2024-11-21 +- * Description: provide sandbox mock +- ******************************************************************************/ +- +-#ifndef _ISULAD_TEST_MOCKS_SHIM_SANDBOX_MOCK_H +-#define _ISULAD_TEST_MOCKS_SHIM_SANDBOX_MOCK_H +- +-#include <gmock/gmock.h> +-#include "sandbox_mock.h" +-#include "shim_sandbox.h" +- +-namespace sandbox { +- +-class MockShimSandbox : public MockSandbox { +-public: +- MockShimSandbox() = default; +- virtual ~MockShimSandbox() = default; +- +- MOCK_METHOD0(LoadSandboxTasks, void()); +- MOCK_METHOD0(SaveSandboxTasks, bool()); +- MOCK_METHOD1(AddSandboxTasks, bool(sandbox_task *task)); +- MOCK_METHOD0(GetAnySandboxTasks, std::string()); +- MOCK_METHOD1(DeleteSandboxTasks, void(const char *containerId)); +- MOCK_METHOD2(AddSandboxTasksProcess, bool(const char *containerId, sandbox_process *processes)); +- MOCK_METHOD2(DeleteSandboxTasksProcess, void(const char *containerId, const char *execId)); +-}; +- +-void MockShimSandbox_SetMock(MockShimSandbox *mock); +- +-} +- +-#endif +diff --git a/test/sandbox/sandbox/CMakeLists.txt b/test/sandbox/sandbox/CMakeLists.txt +index 9ee67033..6dd6c3ee 100644 +--- a/test/sandbox/sandbox/CMakeLists.txt ++++ b/test/sandbox/sandbox/CMakeLists.txt +@@ -16,7 +16,6 @@ add_executable(${EXE} + ${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/sandbox/shim/shim_sandbox.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 +diff --git a/test/sandbox/sandbox/sandbox_ut.cc b/test/sandbox/sandbox/sandbox_ut.cc +index 192d46ef..dd84d8fb 100644 +--- a/test/sandbox/sandbox/sandbox_ut.cc ++++ b/test/sandbox/sandbox/sandbox_ut.cc +@@ -16,7 +16,6 @@ + #include <gtest/gtest.h> + + #include "sandbox.h" +-#include "shim_sandbox.h" + + namespace sandbox { + +@@ -41,7 +40,7 @@ TEST_F(SandboxTest, TestDefaultGetters) + std::string name = "test"; + RuntimeInfo info = {"runc", "shim", "kuasar"}; + +- auto sandbox = new ShimSandbox(id, rootdir, statedir, name, info); ++ auto sandbox = new Sandbox(id, rootdir, statedir, name, info); + ASSERT_NE(sandbox, nullptr); + + ASSERT_EQ(sandbox->IsReady(), false); +@@ -67,7 +66,7 @@ TEST_F(SandboxTest, TestGettersAndSetters) + std::string statedir = "/test2/statedir"; + std::string mode = "host"; + +- auto sandbox = new ShimSandbox(id, rootdir, statedir); ++ auto sandbox = new Sandbox(id, rootdir, statedir); + ASSERT_NE(sandbox, nullptr); + + sandbox->SetNetMode(mode); +diff --git a/test/sandbox/sandbox_manager/CMakeLists.txt b/test/sandbox/sandbox_manager/CMakeLists.txt +index 9254263c..a7dd8c9d 100644 +--- a/test/sandbox/sandbox_manager/CMakeLists.txt ++++ b/test/sandbox/sandbox_manager/CMakeLists.txt +@@ -12,7 +12,6 @@ add_executable(${EXE} + ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cpputils/read_write_lock.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/utils/cpputils/transform.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/sandbox_mock.cc +- ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/shim_sandbox_mock.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../../test/mocks/sandboxer_sandbox_mock.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/sandbox/sandbox_manager.cc + ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/daemon/common/id_name_manager.c +-- +2.23.0 + |