From 525e10185196a4bfaac2172b1d5c56d6205ace8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=B5=A9?= Date: Mon, 24 Mar 2025 11:36:14 +0800 Subject: [PATCH 1/3] ss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨浩 --- modules/ace_adapter/ace_adapter.cpp | 2 + test/moduletest/appspawn_module_test.cpp | 160 +++++++++++++++++------ 2 files changed, 122 insertions(+), 40 deletions(-) diff --git a/modules/ace_adapter/ace_adapter.cpp b/modules/ace_adapter/ace_adapter.cpp index 37da3a22..3324cd89 100644 --- a/modules/ace_adapter/ace_adapter.cpp +++ b/modules/ace_adapter/ace_adapter.cpp @@ -252,6 +252,8 @@ APPSPAWN_STATIC int RunChildByRenderCmd(const AppSpawnMgr *content, const AppSpa options.push_back(nullptr); // clear appspawn env, do not user any content and property AppSpawnEnvClear((AppSpawnContent *)&content->content, (AppSpawnClient *)&property->client); + APPSPAWN_LOGE("RunChildByRenderCmd %{public}s", args[0].c_str()); + execvp(args[0].c_str(), options.data()); // If it succeeds calling execvp, it never returns. int err = errno; diff --git a/test/moduletest/appspawn_module_test.cpp b/test/moduletest/appspawn_module_test.cpp index 767dc960..b7bc6a6a 100644 --- a/test/moduletest/appspawn_module_test.cpp +++ b/test/moduletest/appspawn_module_test.cpp @@ -674,7 +674,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_fork_001, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_fork_001 end"); @@ -702,7 +704,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_fork_002, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_fork_002 end"); @@ -731,7 +735,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_fork_003, TestSize.Level0) EXPECT_EQ(0, result.result); EXPECT_NE(0, result.pid); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_fork_003 end"); @@ -750,7 +756,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Native_Fork_001, TestSize.Level0) EXPECT_EQ(0, result.result); EXPECT_NE(0, result.pid); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_Native_Fork_001 end"); @@ -769,7 +777,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Native_Fork_002, TestSize.Level0) EXPECT_EQ(0, result.result); EXPECT_NE(0, result.pid); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_Native_Fork_002 end"); @@ -800,7 +810,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setUid_001, TestSize.Level0) GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; EXPECT_EQ(true, CheckUid(result.pid, 20010041)); // 20010041 test if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_001 end"); @@ -822,7 +834,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setUid_002, TestSize.Level0) EXPECT_EQ(true, CheckUid(result.pid, 20010043)); // 20010043 test if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_002 end"); @@ -844,7 +858,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setUid_003, TestSize.Level0) EXPECT_EQ(true, CheckUid(result.pid, 20010043)); // 20010043 test if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_003 end"); @@ -866,7 +882,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setUid_004, TestSize.Level0) EXPECT_EQ(true, CheckUid(result.pid, 1000001)); // 1000001 test if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_004 end"); @@ -888,7 +906,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setUid_005, TestSize.Level0) EXPECT_EQ(true, CheckUid(result.pid, 1000001)); // 1000001 test if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_005 end"); @@ -920,7 +940,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGid_001, TestSize.Level0) EXPECT_EQ(true, CheckGid(result.pid, 20010043)); // 20010043 test gid if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGid_001 end"); @@ -943,7 +965,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGid_002, TestSize.Level0) EXPECT_EQ(true, CheckGid(result.pid, 20010041)); // 20010041 test gid if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGid_002 end"); @@ -966,7 +990,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGid_003, TestSize.Level0) EXPECT_EQ(true, CheckGid(result.pid, 20010041)); // 20010041 test gid if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGid_003 end"); @@ -988,7 +1014,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGid_004, TestSize.Level0) EXPECT_EQ(true, CheckGid(result.pid, 1000001)); // 1000001 test gid if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGid_004 end"); @@ -1010,7 +1038,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGid_005, TestSize.Level0) EXPECT_EQ(true, CheckGid(result.pid, 1000001)); // 1000001 test gid if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGid_005 end"); @@ -1044,7 +1074,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGids_001, TestSize.Level0) EXPECT_EQ(true, CheckGids(result.pid, gids)); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setUid_001 end"); @@ -1068,7 +1100,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGids_002, TestSize.Level0) EXPECT_EQ(true, CheckGids(result.pid, gids)); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGids_002 end"); @@ -1092,7 +1126,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGids_003, TestSize.Level0) EXPECT_EQ(true, CheckGids(result.pid, gids)); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGids_003 end"); @@ -1115,7 +1151,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGids_004, TestSize.Level0) EXPECT_EQ(true, CheckGids(result.pid, gids)); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGids_004 end"); @@ -1138,7 +1176,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_checkGids_005, TestSize.Level0) EXPECT_EQ(true, CheckGids(result.pid, gids)); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_checkGids_003 end"); @@ -1171,7 +1211,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setProcName_001, TestSize.Level0) EXPECT_EQ(true, CheckProcName(result.pid, "com.example.myapplication")); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setProcName_001 end"); @@ -1217,7 +1259,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setProcName_003, TestSize.Level0) // do not check, native run fail // Failed to launch a native process with execvp: No such file or directory if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setProcName_003 end"); @@ -1239,7 +1283,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setProcName_004, TestSize.Level0) EXPECT_EQ(true, CheckProcName(result.pid, "com.example.myapplication")); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setProcName_004 end"); @@ -1261,7 +1307,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_setProcName_005, TestSize.Level0) EXPECT_EQ(true, CheckProcName(result.pid, "com.example.myapplication")); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_HF_setProcName_005 end"); @@ -1288,7 +1336,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_001, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed EXPECT_EQ(true, CheckProcessIsDestroyed(result.pid)); @@ -1308,7 +1358,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_002, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed EXPECT_EQ(true, CheckProcessIsDestroyed(result.pid)); @@ -1328,7 +1380,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_003, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed EXPECT_EQ(true, CheckProcessIsDestroyed(result.pid)); @@ -1348,7 +1402,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_006, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed @@ -1369,7 +1425,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_007, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed @@ -1397,7 +1455,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_HF_recycleProc_008, TestSize.Level0) EXPECT_NE(0, result.pid); GTEST_LOG_(INFO) << "newPid :" << result.pid << "."; if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } // Check Process Is Destroyed EXPECT_EQ(true, CheckProcessIsDestroyed(result.pid)); @@ -1420,7 +1480,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Invalid_Msg_001, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } HILOG_INFO(LOG_CORE, "AppSpawn_Invalid_Msg_001 end"); } @@ -1498,7 +1560,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Invalid_Msg_005, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } HILOG_INFO(LOG_CORE, "AppSpawn_Invalid_Msg_005 end"); } @@ -1574,7 +1638,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Invalid_Msg_009, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); } HILOG_INFO(LOG_CORE, "AppSpawn_Invalid_Msg_009 end"); } @@ -1659,7 +1725,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_App_Flags_001, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_App_Flags_001 end"); @@ -1688,7 +1756,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_App_Flags_002, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_App_Flags_002 end"); @@ -1716,7 +1786,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_App_Flags_003, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_App_Flags_003 end"); @@ -1744,7 +1816,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_App_Flags_004, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_App_Flags_004 end"); @@ -1786,7 +1860,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Msg_002, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } commander.CreateMsg(reqHandle, appInfo.c_str(), MSG_GET_RENDER_TERMINATION_STATUS); @@ -1813,7 +1889,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Msg_003, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } commander.CreateMsg(reqHandle, appInfo.c_str(), MSG_GET_RENDER_TERMINATION_STATUS); @@ -1844,7 +1922,9 @@ HWTEST_F(AppSpawnModuleTest, AppSpawn_Msg_004, TestSize.Level0) EXPECT_EQ(0, ret); EXPECT_EQ(0, result.result); if (result.pid > 0) { - EXPECT_EQ(0, kill(result.pid, SIGKILL)); +ret = kill(result.pid, SIGKILL); +APPSPAWN_LOGI("ret %{public}d errno %{public}d", ret,errno); +EXPECT_EQ(true, ret == 0 || (ret == -1 && errno == ESRCH)); result.pid = DEFAULT_PID; } HILOG_INFO(LOG_CORE, "AppSpawn_Msg_004 end"); -- Gitee From dc3623a0427a77c2738cc778bf49869bd8e54b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=B5=A9?= Date: Tue, 25 Mar 2025 19:42:31 +0800 Subject: [PATCH 2/3] ss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨浩 --- modules/ace_adapter/ace_adapter.cpp | 1 + .../app_spawn_appmgr_test.cpp | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/modules/ace_adapter/ace_adapter.cpp b/modules/ace_adapter/ace_adapter.cpp index 3324cd89..08d11790 100644 --- a/modules/ace_adapter/ace_adapter.cpp +++ b/modules/ace_adapter/ace_adapter.cpp @@ -245,6 +245,7 @@ APPSPAWN_STATIC int RunChildByRenderCmd(const AppSpawnMgr *content, const AppSpa APPSPAWN_LOGE("Failed to run a native process: empty command %{public}s", renderCmd); return -1; } + std::vector options; for (const auto &arg : args) { options.push_back(const_cast(arg.c_str())); 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 f6012a28..f1cf67f3 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 @@ -698,6 +698,26 @@ static int AddTest001ExtTlv(uint8_t *buffer, uint32_t bufferLen, uint32_t &realL realLen = currLen; return 0; } +static int AddProcessTypeExtTlv(uint8_t *buffer, uint32_t bufferLen, uint32_t &realLen, uint32_t &tlvCount) +{ + const char *testData = "render"; + uint32_t currLen = 0; + AppSpawnTlvExt tlv = {}; + tlv.tlvType = TLV_MAX; + int ret = strcpy_s(tlv.tlvName, sizeof(tlv.tlvName), "ProcessType"); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to strcpy"); + tlv.dataLen = strlen(testData) + 1; + tlv.tlvLen = sizeof(AppSpawnTlvExt) + APPSPAWN_ALIGN(tlv.dataLen); + + ret = memcpy_s(buffer, bufferLen, &tlv, sizeof(tlv)); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); + ret = memcpy_s(buffer + sizeof(tlv), bufferLen - sizeof(tlv), testData, tlv.dataLen + 1); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); + currLen += tlv.tlvLen; + tlvCount++; + realLen = currLen; + return 0; +} HWTEST_F(AppSpawnAppMgrTest, App_Spawn_AppSpawnMsg_002, TestSize.Level0) { -- Gitee From dabc78325d6bfc540a1c21858e3638d662469a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=B5=A9?= Date: Tue, 25 Mar 2025 19:44:44 +0800 Subject: [PATCH 3/3] ss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨浩 --- .../app_spawn_appmgr_test.cpp | 19 ------------- .../nweb_spawn_service_test.cpp | 27 ++++++++++++++++--- 2 files changed, 23 insertions(+), 23 deletions(-) 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 f1cf67f3..0b1b9005 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 @@ -698,26 +698,7 @@ static int AddTest001ExtTlv(uint8_t *buffer, uint32_t bufferLen, uint32_t &realL realLen = currLen; return 0; } -static int AddProcessTypeExtTlv(uint8_t *buffer, uint32_t bufferLen, uint32_t &realLen, uint32_t &tlvCount) -{ - const char *testData = "render"; - uint32_t currLen = 0; - AppSpawnTlvExt tlv = {}; - tlv.tlvType = TLV_MAX; - int ret = strcpy_s(tlv.tlvName, sizeof(tlv.tlvName), "ProcessType"); - APPSPAWN_CHECK(ret == 0, return -1, "Failed to strcpy"); - tlv.dataLen = strlen(testData) + 1; - tlv.tlvLen = sizeof(AppSpawnTlvExt) + APPSPAWN_ALIGN(tlv.dataLen); - ret = memcpy_s(buffer, bufferLen, &tlv, sizeof(tlv)); - APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); - ret = memcpy_s(buffer + sizeof(tlv), bufferLen - sizeof(tlv), testData, tlv.dataLen + 1); - APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); - currLen += tlv.tlvLen; - tlvCount++; - realLen = currLen; - return 0; -} HWTEST_F(AppSpawnAppMgrTest, App_Spawn_AppSpawnMsg_002, TestSize.Level0) { diff --git a/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp b/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp index ce549992..dc20abd8 100644 --- a/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp +++ b/test/unittest/app_spawn_standard_test/nweb_spawn_service_test.cpp @@ -309,7 +309,26 @@ HWTEST_F(NWebSpawnServiceTest, NWeb_Spawn_Msg_003, TestSize.Level0) } ASSERT_EQ(ret, 0); } - +int AddProcessTypeExtTlv(uint8_t *buffer, uint32_t bufferLen, uint32_t &realLen, uint32_t &tlvCount) +{ + const char *testData = "render"; + uint32_t currLen = 0; + AppSpawnTlvExt tlv = {}; + tlv.tlvType = TLV_MAX; + int ret = strcpy_s(tlv.tlvName, sizeof(tlv.tlvName), "ProcessType"); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to strcpy"); + tlv.dataLen = strlen(testData) + 1; + tlv.tlvLen = sizeof(AppSpawnTlvExt) + APPSPAWN_ALIGN(tlv.dataLen); + + ret = memcpy_s(buffer, bufferLen, &tlv, sizeof(tlv)); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); + ret = memcpy_s(buffer + sizeof(tlv), bufferLen - sizeof(tlv), testData, tlv.dataLen + 1); + APPSPAWN_CHECK(ret == 0, return -1, "Failed to memcpy_s bufferSize"); + currLen += tlv.tlvLen; + tlvCount++; + realLen = currLen; + return 0; +} /** * @brief 测试小包发送,随机获取发送大小,发送数据。消息20时,按33发送 * @@ -324,7 +343,7 @@ HWTEST_F(NWebSpawnServiceTest, NWeb_Spawn_Msg_004, TestSize.Level0) std::vector buffer(1024, 0); // 1024 1k uint32_t msgLen = 0; - ret = testServer->CreateSendMsg(buffer, MSG_APP_SPAWN, msgLen, {AppSpawnTestHelper::AddBaseTlv}); + ret = testServer->CreateSendMsg(buffer, MSG_APP_SPAWN, msgLen, {AppSpawnTestHelper::AddBaseTlv,AddProcessTypeExtTlv}); APPSPAWN_CHECK(ret == 0, break, "Failed to create msg %{public}s", testServer->GetDefaultTestAppBundleName()); // 分片发送 @@ -379,9 +398,9 @@ HWTEST_F(NWebSpawnServiceTest, NWeb_Spawn_Msg_005, TestSize.Level0) std::vector buffer2(1024); // 1024 uint32_t msgLen1 = 0; uint32_t msgLen2 = 0; - ret = testServer->CreateSendMsg(buffer1, MSG_APP_SPAWN, msgLen1, {AppSpawnTestHelper::AddBaseTlv}); + ret = testServer->CreateSendMsg(buffer1, MSG_APP_SPAWN, msgLen1, {AppSpawnTestHelper::AddBaseTlv,AddProcessTypeExtTlv}); APPSPAWN_CHECK(ret == 0, break, "Failed to create msg %{public}s", testServer->GetDefaultTestAppBundleName()); - ret = testServer->CreateSendMsg(buffer2, MSG_APP_SPAWN, msgLen2, {AppSpawnTestHelper::AddBaseTlv}); + ret = testServer->CreateSendMsg(buffer2, MSG_APP_SPAWN, msgLen2, {AppSpawnTestHelper::AddBaseTlv,AddProcessTypeExtTlv}); APPSPAWN_CHECK(ret == 0, break, "Failed to create msg %{public}s", testServer->GetDefaultTestAppBundleName()); buffer1.insert(buffer1.begin() + msgLen1, buffer2.begin(), buffer2.end()); -- Gitee