1# Copyright (c) 2022-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/ohos.gni") 15import("//build/test.gni") 16import("../../../user_auth_framework.gni") 17 18ohos_unittest("iam_services_test") { 19 sanitize = { 20 integer_overflow = true 21 ubsan = true 22 boundary_sanitize = true 23 cfi = true 24 cfi_cross_dso = true 25 debug = false 26 blocklist = "../../../cfi_blocklist.txt" 27 } 28 branch_protector_ret = "pac_ret" 29 30 cflags = [ 31 "-DIAM_TEST_ENABLE", 32 "-Dprivate=public", 33 "-Dprotected=public", 34 ] 35 include_dirs = [ 36 "inc", 37 "mocks", 38 "../../../services/base/inc", 39 "../../../services/core/inc", 40 "../../../services/core/src", 41 "../../../services/context/inc", 42 "../../../services/context/src", 43 "../../../services/ipc/inc", 44 "../../../services/load_mode/inc", 45 "../../../services/remote_connect/inc", 46 "../../../frameworks/common/inc", 47 "../../../frameworks/native/ipc/inc", 48 "../../../frameworks/native/ipc/common_defines", 49 "../inner_api/mocks", 50 ] 51 52 sources = [ 53 "../../../services/base/src/finite_state_machine_builder.cpp", 54 "../../../services/base/src/finite_state_machine_impl.cpp", 55 "../../../services/base/src/relative_timer.cpp", 56 "../../../services/base/src/system_ability_listener.cpp", 57 "../../../services/base/src/thread_handler_impl.cpp", 58 "../../../services/base/src/thread_handler_manager.cpp", 59 "../../../services/base/src/thread_handler_singleton_impl.cpp", 60 "../../../services/context/src/auth_widget_helper.cpp", 61 "../../../services/context/src/base_context.cpp", 62 "../../../services/context/src/context_appstate_observer.cpp", 63 "../../../services/context/src/context_callback_impl.cpp", 64 "../../../services/context/src/context_death_recipient.cpp", 65 "../../../services/context/src/context_factory.cpp", 66 "../../../services/context/src/context_helper.cpp", 67 "../../../services/context/src/context_pool_impl.cpp", 68 "../../../services/context/src/delete_context.cpp", 69 "../../../services/context/src/enroll_context.cpp", 70 "../../../services/context/src/identify_context.cpp", 71 "../../../services/context/src/local_remote_auth_context.cpp", 72 "../../../services/context/src/remote_auth_context.cpp", 73 "../../../services/context/src/remote_auth_invoker_context.cpp", 74 "../../../services/context/src/remote_auth_service.cpp", 75 "../../../services/context/src/remote_executor_stub.cpp", 76 "../../../services/context/src/remote_iam_callback.cpp", 77 "../../../services/context/src/schedule_holder_context.cpp", 78 "../../../services/context/src/simple_auth_context.cpp", 79 "../../../services/context/src/trace.cpp", 80 "../../../services/context/src/ui_extension_ability_connection.cpp", 81 "../../../services/context/src/widget_client.cpp", 82 "../../../services/context/src/widget_context.cpp", 83 "../../../services/context/src/widget_context_callback_impl.cpp", 84 "../../../services/context/src/widget_json.cpp", 85 "../../../services/core/src/authentication_impl.cpp", 86 "../../../services/core/src/credential_info_impl.cpp", 87 "../../../services/core/src/delete_impl.cpp", 88 "../../../services/core/src/driver_state_manager.cpp", 89 "../../../services/core/src/enrolled_info_impl.cpp", 90 "../../../services/core/src/enrollment_impl.cpp", 91 "../../../services/core/src/event_listener_manager.cpp", 92 "../../../services/core/src/identification_impl.cpp", 93 "../../../services/core/src/os_accounts_manager_impl.cpp", 94 "../../../services/core/src/publish_event_adapter_mock.cpp", 95 "../../../services/core/src/remote_executor_proxy.cpp", 96 "../../../services/core/src/remote_msg_util.cpp", 97 "../../../services/core/src/resource_node_impl.cpp", 98 "../../../services/core/src/resource_node_pool_impl.cpp", 99 "../../../services/core/src/resource_node_utils.cpp", 100 "../../../services/core/src/risk_event_manager.cpp", 101 "../../../services/core/src/schedule_node_builder.cpp", 102 "../../../services/core/src/schedule_node_helper.cpp", 103 "../../../services/core/src/schedule_node_impl.cpp", 104 "../../../services/core/src/schedule_resource_node_listener.cpp", 105 "../../../services/core/src/screenlock_status_listener.cpp", 106 "../../../services/core/src/secure_user_info_impl.cpp", 107 "../../../services/core/src/system_param_manager.cpp", 108 "../../../services/core/src/update_pin_param_impl.cpp", 109 "../../../services/core/src/user_idm_database_impl.cpp", 110 "../../../services/core/src/user_info_impl.cpp", 111 "../../../services/core/src/widget_schedule_node_impl.cpp", 112 "../../../services/ipc/src/co_auth_service.cpp", 113 "../../../services/ipc/src/executor_messenger_service.cpp", 114 "../../../services/ipc/src/hdi_message_callback_service.cpp", 115 "../../../services/ipc/src/service_init_manager.cpp", 116 "../../../services/ipc/src/template_cache_manager.cpp", 117 "../../../services/ipc/src/user_auth_service.cpp", 118 "../../../services/ipc/src/user_idm_service.cpp", 119 "../../../services/load_mode/src/load_mode_handler.cpp", 120 "../../../services/load_mode/src/load_mode_handler_default.cpp", 121 "../../../services/remote_connect/src/device_manager_util.cpp", 122 "../../../services/remote_connect/src/remote_connect_listener.cpp", 123 "../../../services/remote_connect/src/remote_connect_listener_manager.cpp", 124 "../../../services/remote_connect/src/remote_connect_manager.cpp", 125 "../../../services/remote_connect/src/socket_factory.cpp", 126 "../../../services/remote_connect/src/soft_bus_base_socket.cpp", 127 "../../../services/remote_connect/src/soft_bus_client_socket.cpp", 128 "../../../services/remote_connect/src/soft_bus_manager.cpp", 129 "../../../services/remote_connect/src/soft_bus_message.cpp", 130 "../../../services/remote_connect/src/soft_bus_server_socket.cpp", 131 "../../../services/remote_connect/src/soft_bus_socket_listener.cpp", 132 "mocks/mock_ipc_common.cpp", 133 "mocks/mock_iuser_auth_interface.cpp", 134 "mocks/mock_socket.cpp", 135 "src/attributes_test.cpp", 136 "src/auth_widget_helper_test.cpp", 137 "src/authentication_impl_test.cpp", 138 "src/co_auth_service_test.cpp", 139 "src/context_appstate_observer_test.cpp", 140 "src/context_callback_impl_test.cpp", 141 "src/context_factory_test.cpp", 142 "src/context_pool_test.cpp", 143 "src/credential_info_test.cpp", 144 "src/delete_context_test.cpp", 145 "src/delete_impl_test.cpp", 146 "src/driver_state_manager_test.cpp", 147 "src/enroll_context_test.cpp", 148 "src/enrolled_info_test.cpp", 149 "src/enrollment_impl_test.cpp", 150 "src/event_listener_manager_test.cpp", 151 "src/executor_messenger_service_test.cpp", 152 "src/hisysevent_adapter_test.cpp", 153 "src/identification_impl_test.cpp", 154 "src/identify_context_test.cpp", 155 "src/ipc_common_test.cpp", 156 "src/os_accounts_manager_test.cpp", 157 "src/relative_timer_test.cpp", 158 "src/remote_auth_context_test.cpp", 159 "src/remote_auth_invoker_context_test.cpp", 160 "src/resource_node_pool_test.cpp", 161 "src/resource_node_test.cpp", 162 "src/resource_node_utils_test.cpp", 163 "src/risk_event_manager_test.cpp", 164 "src/schedule_node_helper_test.cpp", 165 "src/schedule_node_test.cpp", 166 "src/screenlock_status_listener_test.cpp", 167 "src/secure_user_info_test.cpp", 168 "src/simple_auth_context_test.cpp", 169 "src/soft_bus_base_socket_test.cpp", 170 "src/soft_bus_client_socket_test.cpp", 171 "src/soft_bus_manager_test.cpp", 172 "src/soft_bus_server_socket_test.cpp", 173 "src/state_machine_test.cpp", 174 "src/strong_auth_status_manager_test.cpp", 175 "src/system_ability_listener_test.cpp", 176 "src/system_param_manager_test.cpp", 177 "src/template_cache_manager_test.cpp", 178 "src/thread_handler_impl_test.cpp", 179 "src/thread_handler_manager_test.cpp", 180 "src/ui_extension_ability_connection_test.cpp", 181 "src/update_pin_param_test.cpp", 182 "src/user_auth_service_test_part01.cpp", 183 "src/user_auth_service_test_part02.cpp", 184 "src/user_idm_database_test.cpp", 185 "src/user_idm_service_test.cpp", 186 "src/user_info_test.cpp", 187 "src/widget_client_test.cpp", 188 "src/widget_context_callback_impl_test.cpp", 189 "src/widget_context_test.cpp", 190 "src/widget_json_test.cpp", 191 "src/widget_schedule_node_impl_test.cpp", 192 ] 193 194 deps = [ 195 "../../../common:iam_utils", 196 "../../../frameworks/native/client:userauth_client", 197 "../../../frameworks/native/common:attributes", 198 "../../../frameworks/native/common:dfx", 199 "../../../frameworks/native/ipc:userauth_service_ipc", 200 ] 201 202 external_deps = [ 203 "ability_base:base", 204 "ability_base:want", 205 "ability_base:zuri", 206 "ability_runtime:ability_context_native", 207 "ability_runtime:abilitykit_native", 208 "ability_runtime:app_manager", 209 "ability_runtime:extension_manager", 210 "access_token:libaccesstoken_sdk", 211 "access_token:libnativetoken", 212 "access_token:libtoken_setproc", 213 "access_token:libtokenid_sdk", 214 "c_utils:utils", 215 "device_manager:devicemanagersdk", 216 "drivers_interface_user_auth:libuser_auth_proxy_4.0", 217 "dsoftbus:softbus_client", 218 "googletest:gmock", 219 "hdf_core:libhdf_utils", 220 "hdf_core:libhdi", 221 "hilog:libhilog", 222 "hisysevent:libhisysevent", 223 "hitrace:hitrace_meter", 224 "init:libbeget_proxy", 225 "init:libbegetutil", 226 "ipc:ipc_single", 227 "napi:ace_napi", 228 "os_account:os_account_innerkits", 229 "safwk:system_ability_fwk", 230 "samgr:samgr_proxy", 231 "config_policy:configpolicy_util" 232 ] 233 234 defines = [] 235 if (screenlock_client_enable) { 236 external_deps += [ 237 "eventhandler:libeventhandler", 238 "ffrt:libffrt", 239 "preferences:native_preferences", 240 "screenlock_mgr:screenlock_client" 241 ] 242 sources += [ 243 "../../../services/core/src/strong_auth_status_manager_impl.cpp", 244 ] 245 } else { 246 sources += [ 247 "../../../services/core/src/strong_auth_status_manager_mock.cpp", 248 ] 249 } 250 251 configs = [ 252 "../../../common:iam_log_config", 253 "../../../common:iam_utils_config", 254 ] 255 256 remove_configs = [ "//build/config/compiler:no_exceptions" ] 257 258 module_out_path = "user_auth_framework/user_auth_framework" 259 260 subsystem_name = "useriam" 261 part_name = "user_auth_framework" 262} 263