iSulad/0002-sandbox-adapt-UT-when-del-m_containers-and-m_contain.patch
zhongtao 8c5a1e32f7 !632 Upgrade to v2.1.4
* Upgrade to v2.1.4
2023-11-15 03:46:42 +00:00

168 lines
7.8 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 415d7dca6175136ca4c1c780f1e512fd363d01c4 Mon Sep 17 00:00:00 2001
From: liuxu <liuxu156@huawei.com>
Date: Fri, 3 Nov 2023 14:27:45 +0800
Subject: [PATCH 02/14] sandbox:adapt UT when del m_containers and
m_containersMutex
---
.../design/detailed/Sandbox/sandbox_design_zh.md | 16 +---------------
test/mocks/sandbox_mock.cc | 11 -----------
test/mocks/sandbox_mock.h | 4 ----
test/sandbox/sandbox/sandbox_ut.cc | 14 --------------
4 files changed, 1 insertion(+), 44 deletions(-)
diff --git a/docs/design/detailed/Sandbox/sandbox_design_zh.md b/docs/design/detailed/Sandbox/sandbox_design_zh.md
index 86acd70b..109094cb 100644
--- a/docs/design/detailed/Sandbox/sandbox_design_zh.md
+++ b/docs/design/detailed/Sandbox/sandbox_design_zh.md
@@ -99,7 +99,6 @@ auto GetNetworkSettings() -> const std::string &;
auto GetCreatedAt() -> uint64_t;
auto GetPid() -> uint32_t;
auto GetTaskAddress() const -> const std::string &;
-auto GetContainers() -> std::vector<std::string>;
// 设置和更新sandbox的变量值
void SetNetMode(const std::string &mode);
@@ -108,9 +107,6 @@ void AddAnnotations(const std::string &key, const std::string &value);
void RemoveAnnotations(const std::string &key);
void AddLabels(const std::string &key, const std::string &value);
void RemoveLabels(const std::string &key);
-void AddContainer(const std::string &id);
-void SetConatiners(const std::vector<std::string> &cons);
-void RemoveContainer(const std::string &id);
void UpdateNetworkSettings(const std::string &settingsJson, Errors &error);
auto UpdateStatsInfo(const StatsInfo &info) -> StatsInfo;
void SetNetworkReady(bool ready);
@@ -252,16 +248,12 @@ public:
auto GetCreatedAt() -> uint64_t;
auto GetPid() -> uint32_t;
auto GetTaskAddress() const -> const std::string &;
- auto GetContainers() -> std::vector<std::string>;
void SetNetMode(const std::string &mode);
void SetController(std::shared_ptr<Controller> controller);
void AddAnnotations(const std::string &key, const std::string &value);
void RemoveAnnotations(const std::string &key);
void AddLabels(const std::string &key, const std::string &value);
void RemoveLabels(const std::string &key);
- void AddContainer(const std::string &id);
- void SetConatiners(const std::vector<std::string> &cons);
- void RemoveContainer(const std::string &id);
void UpdateNetworkSettings(const std::string &settingsJson, Errors &error);
auto UpdateStatsInfo(const StatsInfo &info) -> StatsInfo;
void SetNetworkReady(bool ready);
@@ -347,9 +339,6 @@ private:
std::string m_networkMode;
bool m_networkReady;
std::string m_networkSettings;
- // container id lists
- std::vector<std::string> m_containers;
- RWMutex m_containersMutex;
// TOOD: m_sandboxConfig is a protobuf message, it can be converted to json string directly
// if save json string directly for sandbox recover, we need to consider hot
// upgrade between different CRI versions
@@ -410,9 +399,7 @@ std::string m_netNsPath;
std::string m_networkMode;
bool m_networkReady;
std::string m_networkSettings;
-// container id lists
-std::vector<std::string> m_containers;
-RWMutex m_containersMutex;
+
// TOOD: m_sandboxConfig is a protobuf message, it can be converted to json string directly
// if save json string directly for sandbox recover, we need to consider hot
// upgrade between different CRI versions
@@ -430,7 +417,6 @@ std::set<uint32_t> m_vsockPorts;
1. m_mutex: 保障并发sandbox的生命周期操作start, stop, remove
2. m_stateMutex:保障并发对m_statem_statsInfom_networkSettings的修改与读取
-3. m_containersMutex保障对m_containers的并发操作
## 4.2 sandbox manage 模块
diff --git a/test/mocks/sandbox_mock.cc b/test/mocks/sandbox_mock.cc
index ab6c2d60..e5aefdda 100644
--- a/test/mocks/sandbox_mock.cc
+++ b/test/mocks/sandbox_mock.cc
@@ -77,14 +77,6 @@ const std::string &Sandbox::GetRuntimeHandle() const
return defaultStr;
}
-std::vector<std::string> Sandbox::GetContainers()
-{
- if (g_sandbox_mock != nullptr) {
- return g_sandbox_mock->GetContainers();
- }
- return defaultVec;
-}
-
const runtime::v1::PodSandboxConfig & Sandbox::GetSandboxConfig() const
{
if (g_sandbox_mock != nullptr) {
@@ -154,9 +146,6 @@ void Sandbox::AddAnnotations(const std::string &key, const std::string &value) {
void Sandbox::RemoveAnnotations(const std::string &key) {}
void Sandbox::AddLabels(const std::string &key, const std::string &value) {}
void Sandbox::RemoveLabels(const std::string &key) {}
-void Sandbox::AddContainer(const std::string &id) {}
-void Sandbox::SetConatiners(const std::vector<std::string> &cons) {}
-void Sandbox::RemoveContainer(const std::string &id) {}
void Sandbox::UpdateNetworkSettings(const std::string &settingsJson, Errors &error) {}
void Sandbox::PrepareSandboxDirs(Errors &error) {}
void Sandbox::CleanupSandboxDirs() {}
diff --git a/test/mocks/sandbox_mock.h b/test/mocks/sandbox_mock.h
index 6b46dca6..341042e9 100644
--- a/test/mocks/sandbox_mock.h
+++ b/test/mocks/sandbox_mock.h
@@ -31,7 +31,6 @@ public:
MOCK_METHOD0(GetName, const std::string & ());
MOCK_METHOD0(GetSandboxer, const std::string & ());
MOCK_METHOD0(GetRuntimeHandle, const std::string & ());
- MOCK_METHOD0(GetContainers, std::vector<std::string>());
MOCK_METHOD0(GetSandboxConfig, const runtime::v1::PodSandboxConfig &());
MOCK_METHOD0(GetMutableSandboxConfig, std::shared_ptr<runtime::v1::PodSandboxConfig>());
MOCK_METHOD0(GetRootDir, const std::string & ());
@@ -46,9 +45,6 @@ public:
MOCK_METHOD1(RemoveAnnotations, void(const std::string &key));
MOCK_METHOD2(AddLabels, void(const std::string &key, const std::string &value));
MOCK_METHOD1(RemoveLabels, void(const std::string &key));
- MOCK_METHOD1(AddContainer, void(const std::string &id));
- MOCK_METHOD1(SetConatiners, void(const std::vector<std::string> &cons));
- MOCK_METHOD1(RemoveContainer, void(const std::string &id));
MOCK_METHOD2(UpdateNetworkSettings, void(const std::string &settingsJson, Errors &error));
MOCK_METHOD1(UpdateStatsInfo, StatsInfo(const StatsInfo &info));
MOCK_METHOD1(SetNetworkReady, void(bool ready));
diff --git a/test/sandbox/sandbox/sandbox_ut.cc b/test/sandbox/sandbox/sandbox_ut.cc
index 494fb543..dd84d8fb 100644
--- a/test/sandbox/sandbox/sandbox_ut.cc
+++ b/test/sandbox/sandbox/sandbox_ut.cc
@@ -49,7 +49,6 @@ TEST_F(SandboxTest, TestDefaultGetters)
ASSERT_STREQ(sandbox->GetRuntime().c_str(), info.runtime.c_str());
ASSERT_STREQ(sandbox->GetSandboxer().c_str(), info.sandboxer.c_str());
ASSERT_STREQ(sandbox->GetRuntimeHandle().c_str(), info.runtimeHandler.c_str());
- ASSERT_EQ(sandbox->GetContainers().size(), 0);
ASSERT_STREQ(sandbox->GetRootDir().c_str(), sandbox_rootdir.c_str());
ASSERT_STREQ(sandbox->GetStateDir().c_str(), sandbox_statedir.c_str());
ASSERT_STREQ(sandbox->GetResolvPath().c_str(), (sandbox_rootdir + "/resolv.conf").c_str());
@@ -85,19 +84,6 @@ TEST_F(SandboxTest, TestGettersAndSetters)
sandbox->RemoveLabels("key");
EXPECT_TRUE(sandbox->GetSandboxConfig().labels().empty());
- std::string containerId = "container_id";
- sandbox->AddContainer(containerId);
- auto Mycontainers = sandbox->GetContainers();
- auto it = std::find(Mycontainers.begin(), Mycontainers.end(), containerId);
- EXPECT_NE(Mycontainers.end(), it);
-
- sandbox->RemoveContainer(containerId);
- EXPECT_EQ(sandbox->GetContainers().size(), 0);
-
- std::vector<std::string> containers = {"container1", "container2"};
- sandbox->SetConatiners(containers);
- EXPECT_EQ(sandbox->GetContainers(), containers);
-
StatsInfo statsInfo = {1234, 100};
sandbox->UpdateStatsInfo(statsInfo);
EXPECT_EQ(sandbox->GetStatsInfo().timestamp, statsInfo.timestamp);
--
2.42.0