summaryrefslogtreecommitdiff
path: root/0169-add-image-storage-unit-test.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-03-04 12:23:00 +0000
committerCoprDistGit <infra@openeuler.org>2025-03-04 12:23:00 +0000
commit434d8166bff360cdb7039326bb617ebaca98face (patch)
tree1b0333fc674186afc80e2193efebadf8d521d51f /0169-add-image-storage-unit-test.patch
parent2ccdcb50a81459161cf6b42f0b45c2b86e1bbf76 (diff)
automatic import of iSuladopeneuler22.03_LTS
Diffstat (limited to '0169-add-image-storage-unit-test.patch')
-rw-r--r--0169-add-image-storage-unit-test.patch135
1 files changed, 135 insertions, 0 deletions
diff --git a/0169-add-image-storage-unit-test.patch b/0169-add-image-storage-unit-test.patch
new file mode 100644
index 0000000..e5770ee
--- /dev/null
+++ b/0169-add-image-storage-unit-test.patch
@@ -0,0 +1,135 @@
+From 7dfa69162cd5ef01592808df555626a0688e6f4c Mon Sep 17 00:00:00 2001
+From: zhongtao <zhongtao17@huawei.com>
+Date: Wed, 11 Dec 2024 19:09:20 +1400
+Subject: [PATCH 03/11] add image storage unit test
+
+Signed-off-by: zhongtao <zhongtao17@huawei.com>
+---
+ .../oci/storage/image_store/image_store.c | 4 +-
+ test/image/oci/storage/images/CMakeLists.txt | 2 +
+ .../oci/storage/images/storage_images_ut.cc | 51 +++++++++++++++++++
+ 3 files changed, 56 insertions(+), 1 deletion(-)
+
+diff --git a/src/daemon/modules/image/oci/storage/image_store/image_store.c b/src/daemon/modules/image/oci/storage/image_store/image_store.c
+index afe53764..71bf36e0 100644
+--- a/src/daemon/modules/image/oci/storage/image_store/image_store.c
++++ b/src/daemon/modules/image/oci/storage/image_store/image_store.c
+@@ -27,6 +27,8 @@
+ #include <pthread.h>
+ #include <stdlib.h>
+
++#include <isula_libutils/utils_macro.h>
++
+ #include "utils.h"
+ #include "utils_file.h"
+ #include "utils_images.h"
+@@ -3004,7 +3006,7 @@ static int do_append_image(storage_image *im)
+ return 0;
+ }
+
+-static void strip_host_prefix(char **name)
++STATIC void strip_host_prefix(char **name)
+ {
+ char *new_image_name = NULL;
+
+diff --git a/test/image/oci/storage/images/CMakeLists.txt b/test/image/oci/storage/images/CMakeLists.txt
+index 28e0b505..04e60a69 100644
+--- a/test/image/oci/storage/images/CMakeLists.txt
++++ b/test/image/oci/storage/images/CMakeLists.txt
+@@ -2,6 +2,8 @@ project(iSulad_UT)
+
+ SET(EXE storage_images_ut)
+
++add_definitions(-DUNIT_TEST=ON)
++
+ add_executable(${EXE}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/utils/cutils/utils.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../src/utils/cutils/utils_regex.c
+diff --git a/test/image/oci/storage/images/storage_images_ut.cc b/test/image/oci/storage/images/storage_images_ut.cc
+index ad0084d6..15da586e 100644
+--- a/test/image/oci/storage/images/storage_images_ut.cc
++++ b/test/image/oci/storage/images/storage_images_ut.cc
+@@ -46,6 +46,10 @@ using ::testing::AtLeast;
+ using ::testing::Invoke;
+ using ::testing::_;
+
++extern "C" {
++ void strip_host_prefix(char **name);
++}
++
+ std::string GetDirectory()
+ {
+ char abs_path[PATH_MAX] { 0x00 };
+@@ -299,11 +303,13 @@ protected:
+ ASSERT_EQ(image_store_init(&opts), 0);
+ free(opts.storage_root);
+ free(opts.driver_name);
++ MockIsuladConf_SetMock(&m_isulad_conf);
+ }
+
+ void TearDown() override
+ {
+ image_store_free();
++ MockIsuladConf_SetMock(nullptr);
+ }
+
+ void BackUp()
+@@ -325,6 +331,7 @@ protected:
+ std::vector<std::string> ids { "39891ff67da98ab8540d71320915f33d2eb80ab42908e398472cab3c1ce7ac10",
+ "e4db68de4ff27c2adfea0c54bbb73a61a42f5b667c326de4d7d5b19ab71c6a3b" };
+ char store_real_path[PATH_MAX] = { 0x00 };
++ NiceMock<MockIsuladConf> m_isulad_conf;
+ };
+
+ TEST_F(StorageImagesUnitTest, test_images_load)
+@@ -714,3 +721,47 @@ TEST_F(StorageImagesUnitTest, test_image_store_remove_multi_name)
+
+ Restore();
+ }
++
++static isulad_daemon_constants *g_test_isulad_daemon_constants = NULL;
++
++isulad_daemon_constants *invoke_get_isulad_daemon_constants(void)
++{
++ g_test_isulad_daemon_constants = (isulad_daemon_constants *)util_common_calloc_s(sizeof(isulad_daemon_constants));
++ if (g_test_isulad_daemon_constants == NULL) {
++ return NULL;
++ }
++ g_test_isulad_daemon_constants->default_host = util_strdup_s("docker.io");
++
++ return g_test_isulad_daemon_constants;
++}
++
++TEST_F(StorageImagesUnitTest, test_strip_host_prefix)
++{
++ char *name = util_strdup_s("docker.io/test_image");
++ std::string test_name = "test_image";
++ std::string test_name_origin = "docker.io/test_image";
++ char *null_name = NULL;
++
++ strip_host_prefix(&name);
++ ASSERT_STREQ(name, test_name_origin.c_str());
++
++ EXPECT_CALL(m_isulad_conf, GetIsuladDaemonConstants()).WillRepeatedly(Invoke(invoke_get_isulad_daemon_constants));
++
++ strip_host_prefix(&name);
++ ASSERT_STREQ(name, test_name.c_str());
++
++ strip_host_prefix(&null_name);
++ ASSERT_EQ(null_name, nullptr);
++
++ free(name);
++ free_isulad_daemon_constants(g_test_isulad_daemon_constants);
++}
++
++#ifdef ENABLE_REMOTE_LAYER_STORE
++TEST_F(StorageImagesUnitTest, test_remote_layer_common)
++{
++ ASSERT_EQ(remote_append_image_by_directory_with_lock(NULL), -1);
++ ASSERT_EQ(remote_remove_image_from_memory_with_lock(NULL), -1);
++ ASSERT_EQ(remote_image_get_top_layer_from_json(NULL), nullptr);
++}
++#endif
+--
+2.23.0
+