mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
!16134 Description: 启动框架任务moduleName和type修复
Merge pull request !16134 from yangzk/appstartup1
This commit is contained in:
@@ -672,8 +672,8 @@ int32_t JsAbilityStage::RegisterAppStartupTask(const std::shared_ptr<AppExecFwk:
|
||||
jsStartupTask->SetIsExcludeFromAutoStart(item.excludeFromAutoStart);
|
||||
jsStartupTask->SetCallCreateOnMainThread(item.callCreateOnMainThread);
|
||||
jsStartupTask->SetWaitOnMainThread(item.waitOnMainThread);
|
||||
jsStartupTask->SetModuleName(hapModuleInfo->moduleName);
|
||||
jsStartupTask->SetModuleType(hapModuleInfo->moduleType);
|
||||
jsStartupTask->SetModuleName(item.moduleName);
|
||||
jsStartupTask->SetModuleType(item.moduleType);
|
||||
jsStartupTask->SetMatchRules(std::move(item.matchRules));
|
||||
startupManager->RegisterAppStartupTask(item.name, jsStartupTask);
|
||||
}
|
||||
|
||||
@@ -143,8 +143,8 @@ int32_t JsStartupTask::LoadJsOhmUrl()
|
||||
return ERR_STARTUP_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
std::string moduleNameWithStartupTask = moduleName_ + "::startupTask";
|
||||
std::string srcPath(moduleName_ + "/" + srcEntry_);
|
||||
std::string moduleNameWithStartupTask = GetModuleName() + "::startupTask";
|
||||
std::string srcPath(GetModuleName() + "/" + srcEntry_);
|
||||
auto pos = srcPath.rfind('.');
|
||||
if (pos == std::string::npos) {
|
||||
TAG_LOGE(AAFwkTag::STARTUP, "invalid srcEntry");
|
||||
@@ -152,6 +152,7 @@ int32_t JsStartupTask::LoadJsOhmUrl()
|
||||
}
|
||||
srcPath.erase(pos);
|
||||
srcPath.append(".abc");
|
||||
jsRuntime_.UpdateModuleNameAndAssetPath(GetModuleName());
|
||||
startupJsRef_ = jsRuntime_.LoadModule(moduleNameWithStartupTask, srcPath, hapPath_, esModule_, false, ohmUrl_);
|
||||
if (startupJsRef_ == nullptr) {
|
||||
TAG_LOGE(AAFwkTag::STARTUP, "startup task null");
|
||||
|
||||
@@ -1046,6 +1046,7 @@ bool StartupManager::AnalyzeAppStartupTaskInner(const ModuleStartupConfigInfo& i
|
||||
startupTaskInfo.moduleName = info.name_;
|
||||
startupTaskInfo.hapPath = info.hapPath_;
|
||||
startupTaskInfo.esModule = info.esModule_;
|
||||
startupTaskInfo.moduleType = info.moduleType_;
|
||||
|
||||
startupTaskInfo.name = startupTaskJson.at(NAME).get<std::string>();
|
||||
startupTaskInfo.srcEntry = startupTaskJson.at(SRC_ENTRY).get<std::string>();
|
||||
|
||||
@@ -41,6 +41,7 @@ struct StartupTaskInfo {
|
||||
bool callCreateOnMainThread = true;
|
||||
bool waitOnMainThread = true;
|
||||
bool esModule = true;
|
||||
AppExecFwk::ModuleType moduleType = AppExecFwk::ModuleType::UNKNOWN;
|
||||
StartupTaskMatchRules matchRules;
|
||||
};
|
||||
|
||||
@@ -72,7 +73,7 @@ public:
|
||||
|
||||
AppExecFwk::ModuleType GetModuleType() const;
|
||||
|
||||
protected:
|
||||
private:
|
||||
bool isExcludeFromAutoStart_ = false;
|
||||
std::string moduleName_;
|
||||
AppExecFwk::ModuleType moduleType_ = AppExecFwk::ModuleType::UNKNOWN;
|
||||
|
||||
@@ -17,17 +17,14 @@ import("//foundation/ability/ability_runtime/ability_runtime.gni")
|
||||
module_output_path = "ability_runtime/app_startup"
|
||||
|
||||
copy("ext_native_startup_manager_copy") {
|
||||
sources = [
|
||||
"${ability_runtime_path}/interfaces/kits/native/appkit/app_startup/ext_native_startup_manager.h",
|
||||
"${ability_runtime_path}/frameworks/native/appkit/app_startup/ext_native_startup_manager.cpp",
|
||||
]
|
||||
outputs = [ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_manager/{{source_file_part}}" ]
|
||||
sources = [ "${ability_runtime_path}/interfaces/kits/native/appkit/app_startup/ext_native_startup_manager.h" ]
|
||||
outputs = [ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_manager/{{source_file_part}}" ]
|
||||
}
|
||||
|
||||
ohos_unittest("ext_native_startup_manager_test") {
|
||||
module_out_path = module_output_path
|
||||
|
||||
include_dirs = [
|
||||
include_dirs = [
|
||||
"${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_manager/",
|
||||
"${ability_runtime_test_path}/new_test/mock/app_startup/ext_native_startup_task",
|
||||
"${ability_runtime_test_path}/new_test/mock/app_startup/startup_manager",
|
||||
@@ -38,16 +35,11 @@ ohos_unittest("ext_native_startup_manager_test") {
|
||||
"${ability_runtime_test_path}/new_test/mock/hilog_tag_wrapper",
|
||||
]
|
||||
|
||||
sources =
|
||||
[ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_manager/ext_native_startup_manager.cpp" ]
|
||||
sources = [ "${ability_runtime_path}/frameworks/native/appkit/app_startup/ext_native_startup_manager.cpp" ]
|
||||
|
||||
sources += [
|
||||
"ext_native_startup_manager_test.cpp",
|
||||
]
|
||||
sources += [ "ext_native_startup_manager_test.cpp" ]
|
||||
|
||||
deps = [
|
||||
":ext_native_startup_manager_copy",
|
||||
]
|
||||
deps = [ ":ext_native_startup_manager_copy" ]
|
||||
|
||||
cflags = [ "-fno-access-control" ]
|
||||
|
||||
@@ -57,11 +49,11 @@ ohos_unittest("ext_native_startup_manager_test") {
|
||||
"googletest:gmock_main",
|
||||
"googletest:gtest_main",
|
||||
"hilog:libhilog",
|
||||
"json:nlohmann_json_static"
|
||||
"json:nlohmann_json_static",
|
||||
]
|
||||
}
|
||||
|
||||
group("unittest") {
|
||||
testonly = true
|
||||
deps = [ ":ext_native_startup_manager_test" ]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,30 +17,20 @@ import("//foundation/ability/ability_runtime/ability_runtime.gni")
|
||||
module_output_path = "ability_runtime/app_startup"
|
||||
|
||||
copy("ext_native_startup_task_copy") {
|
||||
sources = [
|
||||
"${ability_runtime_path}/interfaces/kits/native/appkit/app_startup/ext_native_startup_task.h",
|
||||
"${ability_runtime_path}/frameworks/native/appkit/app_startup/ext_native_startup_task.cpp",
|
||||
]
|
||||
outputs = [ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_task/{{source_file_part}}" ]
|
||||
sources = [ "${ability_runtime_path}/interfaces/kits/native/appkit/app_startup/ext_native_startup_task.h" ]
|
||||
outputs = [ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_task/{{source_file_part}}" ]
|
||||
}
|
||||
|
||||
ohos_unittest("ext_native_startup_task_test") {
|
||||
module_out_path = module_output_path
|
||||
|
||||
include_dirs = [
|
||||
"${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_task/",
|
||||
]
|
||||
include_dirs = [ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_task/" ]
|
||||
|
||||
sources =
|
||||
[ "${target_gen_dir}/frameworks/native/appkit/app_startup/ext_native_startup_task/ext_native_startup_task.cpp" ]
|
||||
sources = [ "${ability_runtime_path}/frameworks/native/appkit/app_startup/ext_native_startup_task.cpp" ]
|
||||
|
||||
sources += [
|
||||
"ext_native_startup_task_test.cpp",
|
||||
]
|
||||
sources += [ "ext_native_startup_task_test.cpp" ]
|
||||
|
||||
deps = [
|
||||
":ext_native_startup_task_copy",
|
||||
]
|
||||
deps = [ ":ext_native_startup_task_copy" ]
|
||||
|
||||
cflags = [ "-fno-access-control" ]
|
||||
|
||||
@@ -50,11 +40,11 @@ ohos_unittest("ext_native_startup_task_test") {
|
||||
"googletest:gmock_main",
|
||||
"googletest:gtest_main",
|
||||
"hilog:libhilog",
|
||||
"json:nlohmann_json_static"
|
||||
"json:nlohmann_json_static",
|
||||
]
|
||||
}
|
||||
|
||||
group("unittest") {
|
||||
testonly = true
|
||||
deps = [ ":ext_native_startup_task_test" ]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,6 +144,7 @@ HWTEST_F(StartupManagerTest, LoadAppStartupTaskConfig_0100, Function | MediumTes
|
||||
EXPECT_EQ(ret, ERR_OK);
|
||||
StartupTaskInfo startupTaskInfo;
|
||||
startupTaskInfo.name = "test_name";
|
||||
startupTaskInfo.moduleType = AppExecFwk::ModuleType::ENTRY;
|
||||
startupManager->pendingStartupTaskInfos_.emplace_back(startupTaskInfo);
|
||||
ret = startupManager->LoadAppStartupTaskConfig(needRunAutoStartupTask);
|
||||
EXPECT_EQ(ret, ERR_OK);
|
||||
@@ -954,6 +955,36 @@ HWTEST_F(StartupManagerTest, AnalyzeAppStartupTaskInner_0200, Function | MediumT
|
||||
GTEST_LOG_(INFO) << "StartupManagerTest AnalyzeAppStartupTaskInner_0200 end";
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: AnalyzeAppStartupTaskInner_0300
|
||||
* @tc.type: FUNC
|
||||
* @tc.Function: AnalyzeAppStartupTaskInner
|
||||
*/
|
||||
HWTEST_F(StartupManagerTest, AnalyzeAppStartupTaskInner_0300, Function | MediumTest | Level1)
|
||||
{
|
||||
GTEST_LOG_(INFO) << "StartupManagerTest AnalyzeAppStartupTaskInner_0300 start";
|
||||
std::shared_ptr<StartupManager> startupManager = DelayedSingleton<StartupManager>::GetInstance();
|
||||
EXPECT_TRUE(startupManager != nullptr);
|
||||
std::string name = "test_name";
|
||||
ModuleStartupConfigInfo info(name, "", "", AppExecFwk::ModuleType::ENTRY, false);
|
||||
std::vector<StartupTaskInfo> pendingStartupTaskInfos;
|
||||
nlohmann::json appStartupTaskInnerJson = R"(
|
||||
{
|
||||
"srcEntry": "test_entry",
|
||||
"name": "test_name"
|
||||
}
|
||||
)"_json;
|
||||
bool ret = startupManager->AnalyzeAppStartupTaskInner(info, appStartupTaskInnerJson, pendingStartupTaskInfos);
|
||||
EXPECT_EQ(ret, true);
|
||||
ASSERT_EQ(pendingStartupTaskInfos.size(), 1);
|
||||
EXPECT_EQ(pendingStartupTaskInfos[0].moduleName, name);
|
||||
EXPECT_EQ(pendingStartupTaskInfos[0].moduleType, AppExecFwk::ModuleType::ENTRY);
|
||||
EXPECT_EQ(pendingStartupTaskInfos[0].moduleType, AppExecFwk::ModuleType::ENTRY);
|
||||
EXPECT_EQ(pendingStartupTaskInfos[0].srcEntry, "test_entry");
|
||||
EXPECT_EQ(pendingStartupTaskInfos[0].name, "test_name");
|
||||
GTEST_LOG_(INFO) << "StartupManagerTest AnalyzeAppStartupTaskInner_0300 end";
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: AnalyzePreloadSoStartupTaskInner_0100
|
||||
* @tc.type: FUNC
|
||||
|
||||
Reference in New Issue
Block a user