From 7a11d1ad3dd6cb72b6183070c7d338557f39a76d Mon Sep 17 00:00:00 2001 From: wangfenging Date: Wed, 9 Jul 2025 21:10:55 +0800 Subject: [PATCH] Return to sandbox file Signed-off-by: wangfenging --- modules/sandbox/BUILD.gn | 26 ++----- modules/sandbox/normal/sandbox_common.cpp | 16 ++++- modules/sandbox/normal/sandbox_core.cpp | 11 ++- modules/sandbox/sandbox.gni | 50 ++++++++++++++ test/mock/app_spawn_stub.h | 13 +++- test/mock/app_system_stub.c | 3 +- .../unittest/app_spawn_standard_test/BUILD.gn | 69 +++---------------- .../app_spawn_appmgr_test.cpp | 1 - .../app_spawn_beget_test.cpp | 3 - .../app_spawn_module_interface_test.cpp | 1 - 10 files changed, 100 insertions(+), 93 deletions(-) create mode 100644 modules/sandbox/sandbox.gni diff --git a/modules/sandbox/BUILD.gn b/modules/sandbox/BUILD.gn index 4e314e0d..4d1226ef 100644 --- a/modules/sandbox/BUILD.gn +++ b/modules/sandbox/BUILD.gn @@ -12,23 +12,12 @@ # limitations under the License. import("//base/startup/appspawn/appspawn.gni") +import("//base/startup/appspawn/modules/sandbox/sandbox.gni") import("//build/ohos.gni") if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { ohos_shared_library("appspawn_sandbox") { - sources = [ - "modern/appspawn_mount_template.c", - "modern/appspawn_sandbox.c", - "modern/sandbox_adapter.cpp", - "modern/sandbox_cfgvar.c", - "modern/sandbox_debug_mode.c", - "modern/sandbox_expand.c", - "modern/sandbox_load.c", - "modern/sandbox_manager.c", - "modern/sandbox_shared.c", - "appspawn_permission.c", - "sandbox_dec.c", - ] + sources += appspawn_sandbox_src include_dirs = [ ".", @@ -36,6 +25,8 @@ if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { "${appspawn_path}/standard", ] + include_dirs += appspawn_sandbox_inc + configs = [ "${appspawn_path}:appspawn_config" ] defines = [ "APPSPAWN_SANDBOX_NEW" ] @@ -80,22 +71,17 @@ if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { ohos_shared_library("appspawn_sandbox") { sources = [ "${appspawn_innerkits_path}/permission/appspawn_mount_permission.c", - "appspawn_permission.c", - "sandbox_dec.c", - "normal/sandbox_shared_mount.cpp", - "normal/appspawn_sandbox_manager.cpp", - "normal/sandbox_common.cpp", - "normal/sandbox_core.cpp" ] + sources += appspawn_sandbox_src include_dirs = [ ".", - "./normal", "${appspawn_path}/common", "${appspawn_path}/standard", "${appspawn_innerkits_path}/client", "${appspawn_innerkits_path}/permission", ] + include_dirs += appspawn_sandbox_inc configs = [ "${appspawn_path}:appspawn_config" ] diff --git a/modules/sandbox/normal/sandbox_common.cpp b/modules/sandbox/normal/sandbox_common.cpp index efe6d560..7f8c9e87 100644 --- a/modules/sandbox/normal/sandbox_common.cpp +++ b/modules/sandbox/normal/sandbox_common.cpp @@ -177,15 +177,25 @@ int SandboxCommon::LoadAppSandboxConfigCJson(AppSpawnMgr *content) int SandboxCommon::FreeAppSandboxConfigCJson(AppSpawnMgr *content) { UNUSED(content); - std::vector normalJsonVec = GetCJsonConfig(SandboxCommonDef::SANDBOX_APP_JSON_CONFIG); + std::vector &normalJsonVec = GetCJsonConfig(SandboxCommonDef::SANDBOX_APP_JSON_CONFIG); for (auto& normal : normalJsonVec) { + if (normal == nullptr) { + continue; + } cJSON_Delete(normal); + normal = nullptr; } + normalJsonVec.clear(); - std::vector isolatedJsonVec = GetCJsonConfig(SandboxCommonDef::SANDBOX_ISOLATED_JSON_CONFIG); - for (auto& isolated : normalJsonVec) { + std::vector &isolatedJsonVec = GetCJsonConfig(SandboxCommonDef::SANDBOX_ISOLATED_JSON_CONFIG); + for (auto& isolated : isolatedJsonVec) { + if (isolated == nullptr) { + continue; + } cJSON_Delete(isolated); + isolated = nullptr; } + isolatedJsonVec.clear(); return 0; } diff --git a/modules/sandbox/normal/sandbox_core.cpp b/modules/sandbox/normal/sandbox_core.cpp index 033213f9..ebecabb8 100644 --- a/modules/sandbox/normal/sandbox_core.cpp +++ b/modules/sandbox/normal/sandbox_core.cpp @@ -1198,9 +1198,9 @@ void SandboxCore::DoUninstallDebugSandbox(std::vector &bundleList, if (srcPathChr == nullptr || sandboxPathChr == nullptr) { return 0; } - std::string sandboxPath(sandboxPathChr); + std::string tmpSandboxPath = sandboxPathChr; for (const auto& currentBundle : bundleList) { - sandboxPath = currentBundle + sandboxPath; + std::string sandboxPath = currentBundle + tmpSandboxPath; APPSPAWN_LOGV("DoUninstallDebugSandbox with path %{public}s", sandboxPath.c_str()); APPSPAWN_CHECK(access(sandboxPath.c_str(), F_OK) == 0, return 0, "Invalid path %{public}s", sandboxPath.c_str()); @@ -1283,7 +1283,12 @@ int32_t SandboxCore::UninstallDebugSandbox(AppSpawnMgr *content, AppSpawningCtx cJSON *permissionChild = debugPermissionConfig->child; while (permissionChild != nullptr) { - DoUninstallDebugSandbox(bundleList, permissionChild); + cJSON *permissionMountPaths = cJSON_GetArrayItem(permissionChild, 0); + if (!permissionMountPaths) { + permissionChild = permissionChild->next; + continue; + } + DoUninstallDebugSandbox(bundleList, permissionMountPaths); permissionChild = permissionChild->next; } } diff --git a/modules/sandbox/sandbox.gni b/modules/sandbox/sandbox.gni new file mode 100644 index 00000000..bf26ed0c --- /dev/null +++ b/modules/sandbox/sandbox.gni @@ -0,0 +1,50 @@ +# Copyright (c) 2025 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +appspawn_sandbox_inc = [ + "//base/startup/appspawn/modules/sandbox" +] + +appspawn_sandbox_src = [ + "//base/startup/appspawn/modules/sandbox/sandbox_dec.c", + "//base/startup/appspawn/modules/sandbox/appspawn_permission.c", +] + +if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { + appspawn_sandbox_inc += [ + "//base/startup/appspawn/modules/sandbox/modern" + ] + + appspawn_sandbox_src += [ + "//base/startup/appspawn/modules/sandbox/modern/appspawn_mount_template.c", + "//base/startup/appspawn/modules/sandbox/modern/appspawn_sandbox.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_adapter.cpp", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_cfgvar.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_debug_mode.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_expand.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_load.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_manager.c", + "//base/startup/appspawn/modules/sandbox/modern/sandbox_shared.c", + ] +} else { + appspawn_sandbox_inc += [ + "//base/startup/appspawn/modules/sandbox/normal" + ] + + appspawn_sandbox_src += [ + "//base/startup/appspawn/modules/sandbox/normal/sandbox_shared_mount.cpp", + "//base/startup/appspawn/modules/sandbox/normal/appspawn_sandbox_manager.cpp", + "//base/startup/appspawn/modules/sandbox/normal/sandbox_common.cpp", + "//base/startup/appspawn/modules/sandbox/normal/sandbox_core.cpp" + ] +} \ No newline at end of file diff --git a/test/mock/app_spawn_stub.h b/test/mock/app_spawn_stub.h index 56de858e..63ad1091 100644 --- a/test/mock/app_spawn_stub.h +++ b/test/mock/app_spawn_stub.h @@ -34,6 +34,15 @@ int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawningCtx *property extern "C" { #endif +typedef struct TagMountTestArg { + const char *originPath; + const char *destinationPath; + const char *fsType; + unsigned long mountFlags; + const char *options; + mode_t mountSharedFlag; +} MountTestArg; + typedef struct AppSpawnContent AppSpawnContent; typedef struct AppSpawnClient AppSpawnClient; typedef struct TagAppSpawnReqMsgNode AppSpawnReqMsgNode; @@ -49,7 +58,7 @@ typedef struct TagAppSpawnForkArg AppSpawnForkArg; typedef struct TagAppSpawnMsgNode AppSpawnMsgNode; typedef struct TagAppSpawnMgr AppSpawnMgr; typedef struct TagPathMountNode PathMountNode; -typedef struct TagMountArg MountArg; +typedef struct TagMountTestArg MountTestArg; typedef struct TagVarExtraData VarExtraData; typedef struct TagSandboxSection SandboxSection; typedef struct TagAppSpawnNamespace { @@ -101,7 +110,7 @@ int ParseAppSandboxConfig(const cJSON *appSandboxConfig, AppSpawnSandboxCfg *san AppSpawnSandboxCfg *CreateAppSpawnSandbox(ExtDataType type); void AddDefaultVariable(void); bool CheckDirRecursive(const char *path); -void CreateDemandSrc(const SandboxContext *context, const PathMountNode *sandboxNode, const MountArg *args); +void CreateDemandSrc(const SandboxContext *context, const PathMountNode *sandboxNode, const MountTestArg *args); int CheckSandboxMountNode(const SandboxContext *context, const SandboxSection *section, const PathMountNode *sandboxNode, uint32_t operation); int AppSpawnClearEnv(AppSpawnMgr *content, AppSpawningCtx *property); diff --git a/test/mock/app_system_stub.c b/test/mock/app_system_stub.c index d9eb03ae..3b971082 100644 --- a/test/mock/app_system_stub.c +++ b/test/mock/app_system_stub.c @@ -36,7 +36,6 @@ #include "appspawn_hook.h" #include "appspawn_server.h" -#include "appspawn_sandbox.h" #include "hilog/log.h" #include "securec.h" @@ -172,7 +171,7 @@ int MountStub(const char *originPath, const char *destinationPath, if (node == NULL || node->arg == NULL || (node->flags & STUB_NEED_CHECK) != STUB_NEED_CHECK) { return 0; } - MountArg *args = (MountArg *)node->arg; + MountTestArg *args = (MountTestArg *)node->arg; printf("args->originPath %s == %s \n", args->originPath, originPath); printf("args->destinationPath %s == %s \n", args->destinationPath, destinationPath); diff --git a/test/unittest/app_spawn_standard_test/BUILD.gn b/test/unittest/app_spawn_standard_test/BUILD.gn index 820b49d3..6324f752 100644 --- a/test/unittest/app_spawn_standard_test/BUILD.gn +++ b/test/unittest/app_spawn_standard_test/BUILD.gn @@ -12,6 +12,7 @@ # limitations under the License. import("//base/startup/appspawn/appspawn.gni") +import("//base/startup/appspawn/modules/sandbox/sandbox.gni") import("//build/test.gni") ohos_unittest("AppSpawn_ut") { @@ -27,6 +28,7 @@ ohos_unittest("AppSpawn_ut") { "APPSPAWN_BASE_DIR=\"/data/appspawn_ut\"", "APPSPAWN_LABEL=\"APPSPAWN_UT\"", "APPSPAWN_TEST", + "APPSPAWN_CLIENT", "APPSPAWN_DEBUG", "DEBUG_BEGETCTL_BOOT", "USER_TIMER_TO_CHECK", @@ -64,9 +66,6 @@ ohos_unittest("AppSpawn_ut") { "${appspawn_path}/modules/modulemgr", "${appspawn_path}/modules/ace_adapter", "${appspawn_path}/modules/common", - "${appspawn_path}/modules/sandbox", - "${appspawn_path}/modules/sandbox/normal", - "${appspawn_path}/modules/sandbox/modern", "${appspawn_path}/modules/sysevent", "${appspawn_innerkits_path}/client", "${appspawn_innerkits_path}/include", @@ -76,6 +75,7 @@ ohos_unittest("AppSpawn_ut") { "${appspawn_path}/test/unittest", "${appspawn_path}/util/include", ] + include_dirs += appspawn_sandbox_inc sources = [ "${appspawn_path}/common/appspawn_server.c", "${appspawn_path}/common/appspawn_trace.cpp", @@ -107,16 +107,8 @@ ohos_unittest("AppSpawn_ut") { "${appspawn_path}/modules/common/appspawn_namespace.c", "${appspawn_path}/modules/common/appspawn_silk.c", "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/appspawn_mount_template.c", - "${appspawn_path}/modules/sandbox/appspawn_permission.c", - "${appspawn_path}/modules/sandbox/modern/appspawn_sandbox.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/sandbox_cfgvar.c", - "${appspawn_path}/modules/sandbox/sandbox_dec.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_expand.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_load.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_manager.c", ] + sources += appspawn_sandbox_src # add stub include_dirs += [ "${appspawn_path}/test/mock" ] @@ -135,7 +127,6 @@ ohos_unittest("AppSpawn_ut") { "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_command_lexer_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_kickdog_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp", - "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandboxmgr_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_service_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_silk_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp", @@ -144,17 +135,13 @@ ohos_unittest("AppSpawn_ut") { if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { sources += [ - "${appspawn_path}/modules/sandbox/sandbox_shared.c", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_new_mount_test.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_new_test.cpp", + "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandboxmgr_test.cpp", ] defines += [ "APPSPAWN_SANDBOX_NEW" ] } else { sources += [ - "${appspawn_path}/modules/sandbox/normal/sandbox_shared_mount.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_core.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_common.cpp", - "${appspawn_path}/modules/sandbox/normal/appspawn_sandbox_manager.cpp", "${appspawn_path}/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp", ] } @@ -241,6 +228,7 @@ ohos_unittest("AppSpawn_coldrun_ut") { "APPSPAWN_LABEL=\"APPSPAWN_UT\"", "APPSPAWN_TEST", "APPSPAWN_DEBUG", + "APPSPAWN_CLIENT", "DEBUG_BEGETCTL_BOOT", "USER_TIMER_TO_CHECK", "OHOS_DEBUG", @@ -277,9 +265,6 @@ ohos_unittest("AppSpawn_coldrun_ut") { "${appspawn_path}/modules/modulemgr", "${appspawn_path}/modules/ace_adapter", "${appspawn_path}/modules/common", - "${appspawn_path}/modules/sandbox", - "${appspawn_path}/modules/sandbox/normal", - "${appspawn_path}/modules/sandbox/modern", "${appspawn_path}/modules/sysevent", "${appspawn_innerkits_path}/client", "${appspawn_innerkits_path}/include", @@ -289,6 +274,7 @@ ohos_unittest("AppSpawn_coldrun_ut") { "${appspawn_path}/test/unittest", "${appspawn_path}/util/include", ] + include_dirs += appspawn_sandbox_inc sources = [ "${appspawn_path}/common/appspawn_server.c", "${appspawn_path}/common/appspawn_trace.cpp", @@ -320,16 +306,8 @@ ohos_unittest("AppSpawn_coldrun_ut") { "${appspawn_path}/modules/common/appspawn_namespace.c", "${appspawn_path}/modules/common/appspawn_silk.c", "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/appspawn_mount_template.c", - "${appspawn_path}/modules/sandbox/appspawn_permission.c", - "${appspawn_path}/modules/sandbox/modern/appspawn_sandbox.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/sandbox_cfgvar.c", - "${appspawn_path}/modules/sandbox/sandbox_dec.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_expand.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_load.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_manager.c", ] + sources += appspawn_sandbox_src if (appspawn_use_encaps == true) { sources += [ "${appspawn_path}/modules/common/appspawn_encaps.c" ] @@ -351,14 +329,6 @@ ohos_unittest("AppSpawn_coldrun_ut") { if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { defines += [ "APPSPAWN_SANDBOX_NEW" ] - sources += [ "${appspawn_path}/modules/sandbox/sandbox_shared.c" ] - } else { - sources += [ - "${appspawn_path}/modules/sandbox/normal/sandbox_shared_mount.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_core.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_common.cpp", - "${appspawn_path}/modules/sandbox/normal/appspawn_sandbox_manager.cpp", - ] } configs = [ "${appspawn_path}:appspawn_config" ] @@ -437,6 +407,7 @@ ohos_unittest("AppSpawn_common_ut") { "APPSPAWN_LABEL=\"APPSPAWN_UT\"", "APPSPAWN_TEST", "APPSPAWN_DEBUG", + "APPSPAWN_CLIENT", "DEBUG_BEGETCTL_BOOT", "USER_TIMER_TO_CHECK", "OHOS_DEBUG", @@ -473,9 +444,6 @@ ohos_unittest("AppSpawn_common_ut") { "${appspawn_path}/modules/modulemgr", "${appspawn_path}/modules/ace_adapter", "${appspawn_path}/modules/common", - "${appspawn_path}/modules/sandbox", - "${appspawn_path}/modules/sandbox/normal", - "${appspawn_path}/modules/sandbox/modern", "${appspawn_path}/modules/sysevent", "${appspawn_innerkits_path}/client", "${appspawn_innerkits_path}/include", @@ -485,6 +453,7 @@ ohos_unittest("AppSpawn_common_ut") { "${appspawn_path}/test/unittest", "${appspawn_path}/util/include", ] + include_dirs += appspawn_sandbox_inc sources = [ "${appspawn_path}/common/appspawn_server.c", "${appspawn_path}/common/appspawn_trace.cpp", @@ -517,16 +486,8 @@ ohos_unittest("AppSpawn_common_ut") { "${appspawn_path}/modules/common/appspawn_namespace.c", "${appspawn_path}/modules/common/appspawn_silk.c", "${appspawn_path}/modules/nweb_adapter/nwebspawn_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/appspawn_mount_template.c", - "${appspawn_path}/modules/sandbox/appspawn_permission.c", - "${appspawn_path}/modules/sandbox/modern/appspawn_sandbox.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_adapter.cpp", - "${appspawn_path}/modules/sandbox/modern/sandbox_cfgvar.c", - "${appspawn_path}/modules/sandbox/sandbox_dec.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_expand.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_load.c", - "${appspawn_path}/modules/sandbox/modern/sandbox_manager.c", ] + sources += appspawn_sandbox_src # add stub include_dirs += [ "${appspawn_path}/test/mock" ] @@ -545,14 +506,6 @@ ohos_unittest("AppSpawn_common_ut") { if (defined(appspawn_sandbox_new) && appspawn_sandbox_new) { defines += [ "APPSPAWN_SANDBOX_NEW" ] - sources += [ "${appspawn_path}/modules/sandbox/sandbox_shared.c" ] - } else { - sources += [ - "${appspawn_path}/modules/sandbox/normal/sandbox_shared_mount.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_core.cpp", - "${appspawn_path}/modules/sandbox/normal/sandbox_common.cpp", - "${appspawn_path}/modules/sandbox/normal/appspawn_sandbox_manager.cpp", - ] } configs = [ "${appspawn_path}:appspawn_config" ] diff --git a/test/unittest/app_spawn_standard_test/app_spawn_appmgr_test.cpp b/test/unittest/app_spawn_standard_test/app_spawn_appmgr_test.cpp index c4099de4..fa70b186 100644 --- a/test/unittest/app_spawn_standard_test/app_spawn_appmgr_test.cpp +++ b/test/unittest/app_spawn_standard_test/app_spawn_appmgr_test.cpp @@ -25,7 +25,6 @@ #include "appspawn_manager.h" #include "appspawn_modulemgr.h" #include "appspawn_permission.h" -#include "appspawn_sandbox.h" #include "appspawn_utils.h" #include "securec.h" diff --git a/test/unittest/app_spawn_standard_test/app_spawn_beget_test.cpp b/test/unittest/app_spawn_standard_test/app_spawn_beget_test.cpp index 7d257e19..0f0b45d0 100644 --- a/test/unittest/app_spawn_standard_test/app_spawn_beget_test.cpp +++ b/test/unittest/app_spawn_standard_test/app_spawn_beget_test.cpp @@ -163,9 +163,6 @@ HWTEST_F(AppSpawnBegetCtlTest, App_Spawn_BetgetCtl_004, TestSize.Level0) AppSpawningCtx *property = nullptr; int ret = -1; do { - // add default - AddDefaultVariable(); - // create msg ret = AppSpawnClientInit(APPSPAWN_SERVER_NAME, &clientHandle); APPSPAWN_CHECK(ret == 0, break, "Failed to create reqMgr %{public}s", APPSPAWN_SERVER_NAME); diff --git a/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp b/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp index 640399f3..a8821f60 100644 --- a/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp +++ b/test/unittest/app_spawn_standard_test/app_spawn_module_interface_test.cpp @@ -25,7 +25,6 @@ #include "appspawn_manager.h" #include "appspawn_modulemgr.h" #include "appspawn_permission.h" -#include "appspawn_sandbox.h" #include "appspawn_utils.h" #include "cJSON.h" #include "json_utils.h" -- Gitee