From 8c33633d26ec5d5eb9b5ad415afc114cf6c232f3 Mon Sep 17 00:00:00 2001 From: haozi007 Date: Tue, 11 Oct 2022 20:34:18 +0800 Subject: [PATCH 04/43] run storage layers ut with non-root Signed-off-by: haozi007 --- test/CMakeLists.txt | 2 ++ test/image/oci/storage/layers/storage_layers_ut.cc | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 940de5ce..a36f68c5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,7 @@ project(iSulad_UT) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-maybe-uninitialized") + function(gmock_find_library _name) find_library(${_name} NAMES ${ARGN} diff --git a/test/image/oci/storage/layers/storage_layers_ut.cc b/test/image/oci/storage/layers/storage_layers_ut.cc index 0b481a95..87dfb4a1 100644 --- a/test/image/oci/storage/layers/storage_layers_ut.cc +++ b/test/image/oci/storage/layers/storage_layers_ut.cc @@ -153,7 +153,8 @@ protected: MockDriverQuota_SetMock(&m_driver_quota_mock); struct storage_module_init_options opts = {0}; - std::string isulad_dir = "/var/lib/isulad/"; + std::string isulad_dir = "/tmp/isulad/"; + mkdir(isulad_dir.c_str(), 0755); std::string root_dir = isulad_dir + "data"; std::string run_dir = isulad_dir + "data/run"; std::string data_dir = GetDirectory() + "/data"; @@ -167,6 +168,9 @@ protected: ASSERT_STRNE(util_clean_path(run_dir.c_str(), real_run_path, sizeof(real_run_path)), nullptr); opts.storage_run_root = strdup(real_run_path); opts.driver_name = strdup("overlay"); + opts.driver_opts = static_cast(util_smart_calloc_s(sizeof(char *), 1)); + opts.driver_opts[0] = strdup("overlay2.skip_mount_home=true"); + opts.driver_opts_len = 1; EXPECT_CALL(m_driver_quota_mock, QuotaCtl(_, _, _, _)).WillRepeatedly(Invoke(invokeQuotaCtl)); ASSERT_EQ(layer_store_init(&opts), 0); @@ -174,6 +178,8 @@ protected: free(opts.storage_root); free(opts.storage_run_root); free(opts.driver_name); + free(opts.driver_opts[0]); + free(opts.driver_opts); } void TearDown() override @@ -183,7 +189,7 @@ protected: layer_store_exit(); layer_store_cleanup(); - std::string rm_command = "rm -rf /var/lib/isulad/data"; + std::string rm_command = "rm -rf /tmp/isulad/"; ASSERT_EQ(system(rm_command.c_str()), 0); } -- 2.25.1