1eace7efcSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 2eace7efcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3eace7efcSopenharmony_ci# you may not use this file except in compliance with the License. 4eace7efcSopenharmony_ci# You may obtain a copy of the License at 5eace7efcSopenharmony_ci# 6eace7efcSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7eace7efcSopenharmony_ci# 8eace7efcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9eace7efcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10eace7efcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11eace7efcSopenharmony_ci# See the License for the specific language governing permissions and 12eace7efcSopenharmony_ci# limitations under the License. 13eace7efcSopenharmony_ci 14eace7efcSopenharmony_ciimport("//build/test.gni") 15eace7efcSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni") 16eace7efcSopenharmony_ci 17eace7efcSopenharmony_cimodule_output_path = "ability_runtime/abilitymgr" 18eace7efcSopenharmony_ci 19eace7efcSopenharmony_ciohos_unittest("exit_reason_test") { 20eace7efcSopenharmony_ci module_out_path = module_output_path 21eace7efcSopenharmony_ci sanitize = { 22eace7efcSopenharmony_ci cfi = true 23eace7efcSopenharmony_ci cfi_cross_dso = true 24eace7efcSopenharmony_ci debug = false 25eace7efcSopenharmony_ci blocklist = "../../cfi_blocklist.txt" 26eace7efcSopenharmony_ci } 27eace7efcSopenharmony_ci branch_protector_ret = "pac_ret" 28eace7efcSopenharmony_ci 29eace7efcSopenharmony_ci include_dirs = [ 30eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test/libs/system_ability_mock", 31eace7efcSopenharmony_ci "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy/include", 32eace7efcSopenharmony_ci "${distributedschedule_path}/samgr/adapter/interfaces/innerkits/include/", 33eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include", 34eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/mock_sa_call", 35eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/task_handler_wrap_mock/include", 36eace7efcSopenharmony_ci ] 37eace7efcSopenharmony_ci 38eace7efcSopenharmony_ci sources = [ 39eace7efcSopenharmony_ci # add mock file 40eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test/libs/appexecfwk_core/src/appmgr/mock_app_scheduler.cpp", 41eace7efcSopenharmony_ci "exit_reason_test.cpp", 42eace7efcSopenharmony_ci ] 43eace7efcSopenharmony_ci 44eace7efcSopenharmony_ci configs = [ 45eace7efcSopenharmony_ci "${ability_runtime_services_path}/abilitymgr:abilityms_config", 46eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test:aafwk_mock_config", 47eace7efcSopenharmony_ci ] 48eace7efcSopenharmony_ci cflags = [] 49eace7efcSopenharmony_ci if (target_cpu == "arm") { 50eace7efcSopenharmony_ci cflags += [ "-DBINDER_IPC_32BIT" ] 51eace7efcSopenharmony_ci } 52eace7efcSopenharmony_ci deps = [ 53eace7efcSopenharmony_ci "${ability_runtime_native_path}/ability/native:abilitykit_native", 54eace7efcSopenharmony_ci "${ability_runtime_services_path}/abilitymgr:abilityms", 55eace7efcSopenharmony_ci "${ability_runtime_services_path}/common:perm_verification", 56eace7efcSopenharmony_ci "${ability_runtime_services_path}/common:task_handler_wrap", 57eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test/libs/aakit:aakit_mock", 58eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test/libs/appexecfwk_core:appexecfwk_appmgr_mock", 59eace7efcSopenharmony_ci "${ability_runtime_test_path}/mock/services_abilitymgr_test/libs/appexecfwk_core:appexecfwk_bundlemgr_mock", 60eace7efcSopenharmony_ci "${distributedschedule_path}/safwk/interfaces/innerkits/safwk:system_ability_fwk", 61eace7efcSopenharmony_ci "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy", 62eace7efcSopenharmony_ci "//third_party/googletest:gmock_main", 63eace7efcSopenharmony_ci "//third_party/googletest:gtest_main", 64eace7efcSopenharmony_ci ] 65eace7efcSopenharmony_ci 66eace7efcSopenharmony_ci external_deps = [ 67eace7efcSopenharmony_ci "ability_base:want", 68eace7efcSopenharmony_ci "ability_base:zuri", 69eace7efcSopenharmony_ci "ability_runtime:ability_deps_wrapper", 70eace7efcSopenharmony_ci "ability_runtime:ability_manager", 71eace7efcSopenharmony_ci "access_token:libaccesstoken_sdk", 72eace7efcSopenharmony_ci "access_token:libnativetoken", 73eace7efcSopenharmony_ci "access_token:libtoken_setproc", 74eace7efcSopenharmony_ci "c_utils:utils", 75eace7efcSopenharmony_ci "common_event_service:cesfwk_innerkits", 76eace7efcSopenharmony_ci "ffrt:libffrt", 77eace7efcSopenharmony_ci "hilog:libhilog", 78eace7efcSopenharmony_ci "init:libbeget_proxy", 79eace7efcSopenharmony_ci "ipc:ipc_core", 80eace7efcSopenharmony_ci "napi:ace_napi", 81eace7efcSopenharmony_ci ] 82eace7efcSopenharmony_ci 83eace7efcSopenharmony_ci if (background_task_mgr_continuous_task_enable) { 84eace7efcSopenharmony_ci external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 85eace7efcSopenharmony_ci } 86eace7efcSopenharmony_ci} 87eace7efcSopenharmony_ci 88eace7efcSopenharmony_cigroup("unittest") { 89eace7efcSopenharmony_ci testonly = true 90eace7efcSopenharmony_ci deps = [ ":exit_reason_test" ] 91eace7efcSopenharmony_ci} 92