fix: 校验空字符串任务名,修复 0800 用例错误码不匹配

startupManager.run(['']) 传入空字符串任务名时,穿透到
BuildAppStartupTaskManager 返回
ERR_STARTUP_DEPENDENCY_NOT_FOUND(28800001),
而测试期望 ERR_STARTUP_INVALID_VALUE(401)。
在 UnwrapArrayString 后增加空字符串校验,提前返回 401。

同时将 int32_t result 声明移到 if 块外部,修复变量作用域问题。

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: I327992fb369664176fe20603675f7dd7849b71c5
This commit is contained in:
zhang_hao_zheng
2026-04-01 19:41:11 +08:00
parent 15d2db0f51
commit 7d9447b6a3
@@ -210,11 +210,18 @@ int32_t ETSStartupManager::GetStartupTaskManager(ani_env *env, ani_object startu
TAG_LOGE(AAFwkTag::STARTUP, "get dependencies failed");
return ERR_STARTUP_INVALID_VALUE;
}
for (const auto &dep : dependencies) {
if (dep.empty()) {
TAG_LOGE(AAFwkTag::STARTUP, "empty task name");
return ERR_STARTUP_INVALID_VALUE;
}
}
std::shared_ptr<StartupConfig> config;
ani_boolean isConfigUndefined = ANI_TRUE;
env->Reference_IsUndefined(reinterpret_cast<ani_ref>(startupConfig), &isConfigUndefined);
int32_t result = ERR_OK;
if (!isConfigUndefined) {
int32_t result = GetConfig(env, startupConfig, config);
result = GetConfig(env, startupConfig, config);
if (result != ERR_OK) {
TAG_LOGE(AAFwkTag::STARTUP, "get config failed");
return result;