1# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/test.gni")
15import("../../../../security_component.gni")
16
17sec_comp_root_dir = "../../../.."
18
19ohos_unittest("sec_comp_service_test") {
20  subsystem_name = "security"
21  part_name = "security_component_manager"
22  module_out_path = part_name + "/" + part_name
23  include_dirs = [
24    "${sec_comp_root_dir}/frameworks/common/include",
25    "${sec_comp_root_dir}/frameworks/enhance_adapter/include",
26    "${sec_comp_root_dir}/frameworks/security_component/include",
27    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
28    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main",
29    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/include",
30  ]
31
32  sources = [
33    "${sec_comp_root_dir}/interfaces/inner_api/security_component/src/sec_comp_dialog_callback_stub.cpp",
34    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/app_mgr_death_recipient.cpp",
35    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/app_state_observer.cpp",
36    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/delay_exit_task.cpp",
37    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/first_use_dialog.cpp",
38    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_dialog_callback_proxy.cpp",
39    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_entity.cpp",
40    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_info_helper.cpp",
41    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_malicious_apps.cpp",
42    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_manager.cpp",
43    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_perm_manager.cpp",
44    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_service.cpp",
45    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_stub.cpp",
46    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_event_handler.cpp",
47    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/window_info_helper.cpp",
48    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/accesstoken_kit.cpp",
49    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/mock_app_mgr_proxy.cpp",
50    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp",
51    "unittest/src/app_state_observer_test.cpp",
52    "unittest/src/sec_comp_entity_test.cpp",
53    "unittest/src/sec_comp_info_helper_test.cpp",
54    "unittest/src/sec_comp_manager_test.cpp",
55    "unittest/src/sec_comp_perm_manager_test.cpp",
56    "unittest/src/sec_comp_service_test.cpp",
57    "unittest/src/sec_comp_stub_test.cpp",
58    "unittest/src/service_test_common.cpp",
59    "unittest/src/window_info_helper_test.cpp",
60    "unittest/src/zzenv_exit_operate.cpp",
61  ]
62
63  configs = [ "${sec_comp_root_dir}/config:coverage_flags" ]
64  cflags_cc = [ "-DHILOG_ENABLE" ]
65
66  if (security_component_enhance_enable) {
67    cflags_cc += [ "-DSECURITY_COMPONENT_ENHANCE_ENABLE" ]
68  }
69
70  deps = [
71    "${sec_comp_root_dir}/frameworks:security_component_no_cfi_enhance_adapter_src_set",
72    "${sec_comp_root_dir}/frameworks:security_component_no_cfi_framework_src_set",
73    "//third_party/googletest:gmock_main",
74  ]
75
76  external_deps = [
77    "ability_base:base",
78    "ability_base:want",
79    "ability_base:zuri",
80    "ability_runtime:ability_manager",
81    "ability_runtime:runtime",
82    "access_token:libtoken_setproc",
83    "bundle_framework:appexecfwk_base",
84    "bundle_framework:appexecfwk_core",
85    "c_utils:utils",
86    "eventhandler:libeventhandler",
87    "graphic_2d:librender_service_client",
88    "hilog:libhilog",
89    "hisysevent:libhisysevent",
90    "hitrace:hitrace_meter",
91    "ipc:ipc_core",
92    "json:nlohmann_json_static",
93    "window_manager:libdm",
94  ]
95}
96
97ohos_unittest("sec_comp_service_mock_test") {
98  subsystem_name = "security"
99  part_name = "security_component_manager"
100  module_out_path = part_name + "/" + part_name
101  sanitize = {
102    cfi = true
103    cfi_cross_dso = true
104    debug = false
105  }
106  branch_protector_ret = "pac_ret"
107  include_dirs = [
108    "${sec_comp_root_dir}/frameworks/common/include",
109    "${sec_comp_root_dir}/frameworks/security_component/include",
110    "${sec_comp_root_dir}/frameworks/enhance_adapter/include",
111    "${sec_comp_root_dir}/interfaces/inner_api/security_component/include",
112    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main",
113    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/include",
114  ]
115
116  sources = [
117    "${sec_comp_root_dir}/interfaces/inner_api/security_component/src/sec_comp_dialog_callback_stub.cpp",
118    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/app_mgr_death_recipient.cpp",
119    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/app_state_observer.cpp",
120    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/delay_exit_task.cpp",
121    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/first_use_dialog.cpp",
122    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_dialog_callback_proxy.cpp",
123    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_entity.cpp",
124    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_info_helper.cpp",
125    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_malicious_apps.cpp",
126    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_manager.cpp",
127    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_perm_manager.cpp",
128    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_service.cpp",
129    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_comp_stub.cpp",
130    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/sec_event_handler.cpp",
131    "${sec_comp_root_dir}/services/security_component_service/sa/sa_main/window_info_helper.cpp",
132    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/accesstoken_kit.cpp",
133    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/mock_app_mgr_proxy.cpp",
134    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/mock_iservice_registry.cpp",
135    "${sec_comp_root_dir}/services/security_component_service/sa/test/mock/src/sec_comp_enhance_adapter.cpp",
136    "unittest/src/first_use_dialog_test.cpp",
137    "unittest/src/sec_comp_service_mock_test.cpp",
138    "unittest/src/sec_comp_stub_mock_test.cpp",
139    "unittest/src/service_test_common.cpp",
140  ]
141
142  configs = [ "${sec_comp_root_dir}/config:coverage_flags" ]
143  cflags_cc = [ "-DHILOG_ENABLE" ]
144
145  deps = [
146    "${sec_comp_root_dir}/frameworks:security_component_framework_src_set",
147    "//third_party/googletest:gmock_main",
148  ]
149
150  external_deps = [
151    "ability_base:base",
152    "ability_base:want",
153    "ability_base:zuri",
154    "ability_runtime:ability_manager",
155    "ability_runtime:runtime",
156    "access_token:libtoken_setproc",
157    "bundle_framework:appexecfwk_base",
158    "bundle_framework:appexecfwk_core",
159    "c_utils:utils",
160    "eventhandler:libeventhandler",
161    "graphic_2d:librender_service_client",
162    "hilog:libhilog",
163    "hisysevent:libhisysevent",
164    "hitrace:hitrace_meter",
165    "ipc:ipc_core",
166    "json:nlohmann_json_static",
167    "window_manager:libdm",
168  ]
169}
170
171group("unittest") {
172  testonly = true
173  deps = [
174    ":sec_comp_service_mock_test",
175    ":sec_comp_service_test",
176  ]
177}
178