1a339c2d4Sopenharmony_ci# Copyright (C) 2022-2024 Huawei Device Co., Ltd.
2a339c2d4Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3a339c2d4Sopenharmony_ci# you may not use this file except in compliance with the License.
4a339c2d4Sopenharmony_ci# You may obtain a copy of the License at
5a339c2d4Sopenharmony_ci#
6a339c2d4Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7a339c2d4Sopenharmony_ci#
8a339c2d4Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9a339c2d4Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10a339c2d4Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11a339c2d4Sopenharmony_ci# See the License for the specific language governing permissions and
12a339c2d4Sopenharmony_ci# limitations under the License.
13a339c2d4Sopenharmony_ci
14a339c2d4Sopenharmony_ciimport("//build/ohos.gni")
15a339c2d4Sopenharmony_ciimport("//build/test.gni")
16a339c2d4Sopenharmony_ci
17a339c2d4Sopenharmony_cimodule_output_path = "pin_auth/PinAuth_UT_test"
18a339c2d4Sopenharmony_ci
19a339c2d4Sopenharmony_ciohos_unittest("PinAuth_UT_test") {
20a339c2d4Sopenharmony_ci  sanitize = {
21a339c2d4Sopenharmony_ci    integer_overflow = true
22a339c2d4Sopenharmony_ci    ubsan = true
23a339c2d4Sopenharmony_ci    boundary_sanitize = true
24a339c2d4Sopenharmony_ci    cfi = true
25a339c2d4Sopenharmony_ci    cfi_cross_dso = true
26a339c2d4Sopenharmony_ci    debug = false
27a339c2d4Sopenharmony_ci    blocklist = "../../cfi_blocklist.txt"
28a339c2d4Sopenharmony_ci  }
29a339c2d4Sopenharmony_ci  branch_protector_ret = "pac_ret"
30a339c2d4Sopenharmony_ci  module_out_path = module_output_path
31a339c2d4Sopenharmony_ci
32a339c2d4Sopenharmony_ci  cflags = [
33a339c2d4Sopenharmony_ci    "-Dprivate=public",
34a339c2d4Sopenharmony_ci    "-Dprotected=public",
35a339c2d4Sopenharmony_ci  ]
36a339c2d4Sopenharmony_ci
37a339c2d4Sopenharmony_ci  sources = [
38a339c2d4Sopenharmony_ci    "src/framework_client_pinauth_register_impl_test.cpp",
39a339c2d4Sopenharmony_ci    "src/framework_scrypt_scrypt_test.cpp",
40a339c2d4Sopenharmony_ci    "src/inputer_data_impl_test.cpp",
41a339c2d4Sopenharmony_ci    "src/inputer_get_data_proxy_test.cpp",
42a339c2d4Sopenharmony_ci    "src/inputer_get_data_service_test.cpp",
43a339c2d4Sopenharmony_ci    "src/inputer_get_data_stub_test.cpp",
44a339c2d4Sopenharmony_ci    "src/inputer_set_data_proxy_test.cpp",
45a339c2d4Sopenharmony_ci    "src/inputer_set_data_stub_test.cpp",
46a339c2d4Sopenharmony_ci    "src/pin_auth_all_in_one_hdi_unit_test.cpp",
47a339c2d4Sopenharmony_ci    "src/pin_auth_collector_hdi_unit_test.cpp",
48a339c2d4Sopenharmony_ci    "src/pin_auth_driver_hdi_unit_test.cpp",
49a339c2d4Sopenharmony_ci    "src/pin_auth_executor_callback_hdi_unit_test.cpp",
50a339c2d4Sopenharmony_ci    "src/pin_auth_proxy_test.cpp",
51a339c2d4Sopenharmony_ci    "src/pin_auth_register_test.cpp",
52a339c2d4Sopenharmony_ci    "src/pin_auth_service_test.cpp",
53a339c2d4Sopenharmony_ci    "src/pin_auth_stub_test.cpp",
54a339c2d4Sopenharmony_ci    "src/pin_auth_verifier_hdi_unit_test.cpp",
55a339c2d4Sopenharmony_ci    "src/services_inputer_data_impl_test.cpp",
56a339c2d4Sopenharmony_ci    "src/services_pin_auth_manager_test.cpp",
57a339c2d4Sopenharmony_ci  ]
58a339c2d4Sopenharmony_ci
59a339c2d4Sopenharmony_ci  include_dirs = [
60a339c2d4Sopenharmony_ci    "inc",
61a339c2d4Sopenharmony_ci    "mocks",
62a339c2d4Sopenharmony_ci  ]
63a339c2d4Sopenharmony_ci
64a339c2d4Sopenharmony_ci  deps = [
65a339c2d4Sopenharmony_ci    "../../frameworks:pinauth_framework_source_set",
66a339c2d4Sopenharmony_ci    "../../frameworks:pinauth_ipc",
67a339c2d4Sopenharmony_ci    "../../services:pinauthservice_source_set",
68a339c2d4Sopenharmony_ci  ]
69a339c2d4Sopenharmony_ci
70a339c2d4Sopenharmony_ci  external_deps = [
71a339c2d4Sopenharmony_ci    "access_token:libaccesstoken_sdk",
72a339c2d4Sopenharmony_ci    "access_token:libnativetoken",
73a339c2d4Sopenharmony_ci    "access_token:libtoken_setproc",
74a339c2d4Sopenharmony_ci    "c_utils:utils",
75a339c2d4Sopenharmony_ci    "drivers_interface_pin_auth:libpin_auth_proxy_2.0",
76a339c2d4Sopenharmony_ci    "googletest:gmock",
77a339c2d4Sopenharmony_ci    "hilog:libhilog",
78a339c2d4Sopenharmony_ci    "ipc:ipc_single",
79a339c2d4Sopenharmony_ci    "openssl:libcrypto_shared",
80a339c2d4Sopenharmony_ci    "safwk:system_ability_fwk",
81a339c2d4Sopenharmony_ci    "samgr:samgr_proxy",
82a339c2d4Sopenharmony_ci    "user_auth_framework:userauth_client",
83a339c2d4Sopenharmony_ci    "user_auth_framework:userauth_executors",
84a339c2d4Sopenharmony_ci  ]
85a339c2d4Sopenharmony_ci
86a339c2d4Sopenharmony_ci  remove_configs = [ "//build/config/compiler:no_exceptions" ]
87a339c2d4Sopenharmony_ci
88a339c2d4Sopenharmony_ci  configs = [
89a339c2d4Sopenharmony_ci    "../../frameworks:pinauth_config",
90a339c2d4Sopenharmony_ci    "../../common:iam_log_config",
91a339c2d4Sopenharmony_ci    "../../frameworks/:pinauth_ipc_config",
92a339c2d4Sopenharmony_ci    "../../common:iam_utils_config",
93a339c2d4Sopenharmony_ci  ]
94a339c2d4Sopenharmony_ci
95a339c2d4Sopenharmony_ci  subsystem_name = "useriam"
96a339c2d4Sopenharmony_ci  part_name = "pin_auth"
97a339c2d4Sopenharmony_ci}
98a339c2d4Sopenharmony_ci
99a339c2d4Sopenharmony_ciohos_unittest("PinAuth_Service_test") {
100a339c2d4Sopenharmony_ci  sanitize = {
101a339c2d4Sopenharmony_ci    integer_overflow = true
102a339c2d4Sopenharmony_ci    ubsan = true
103a339c2d4Sopenharmony_ci    boundary_sanitize = true
104a339c2d4Sopenharmony_ci    cfi = true
105a339c2d4Sopenharmony_ci    cfi_cross_dso = true
106a339c2d4Sopenharmony_ci    debug = false
107a339c2d4Sopenharmony_ci    blocklist = "../../cfi_blocklist.txt"
108a339c2d4Sopenharmony_ci  }
109a339c2d4Sopenharmony_ci  branch_protector_ret = "pac_ret"
110a339c2d4Sopenharmony_ci  module_out_path = module_output_path
111a339c2d4Sopenharmony_ci
112a339c2d4Sopenharmony_ci  sources = [ "src/pinauth_test.cpp" ]
113a339c2d4Sopenharmony_ci
114a339c2d4Sopenharmony_ci  include_dirs = [
115a339c2d4Sopenharmony_ci    "inc",
116a339c2d4Sopenharmony_ci    "../../interfaces/inner_api",
117a339c2d4Sopenharmony_ci  ]
118a339c2d4Sopenharmony_ci
119a339c2d4Sopenharmony_ci  deps = [ "../../services:pinauthservice" ]
120a339c2d4Sopenharmony_ci
121a339c2d4Sopenharmony_ci  external_deps = [
122a339c2d4Sopenharmony_ci    "c_utils:utils",
123a339c2d4Sopenharmony_ci    "hilog:libhilog",
124a339c2d4Sopenharmony_ci    "ipc:ipc_single",
125a339c2d4Sopenharmony_ci    "pin_auth:pinauth_framework",
126a339c2d4Sopenharmony_ci    "safwk:system_ability_fwk",
127a339c2d4Sopenharmony_ci  ]
128a339c2d4Sopenharmony_ci
129a339c2d4Sopenharmony_ci  remove_configs = [ "//build/config/compiler:no_exceptions" ]
130a339c2d4Sopenharmony_ci
131a339c2d4Sopenharmony_ci  configs = [
132a339c2d4Sopenharmony_ci    "../../common:iam_log_config",
133a339c2d4Sopenharmony_ci    "../../frameworks/:pinauth_ipc_config",
134a339c2d4Sopenharmony_ci    "../../common:iam_utils_config",
135a339c2d4Sopenharmony_ci  ]
136a339c2d4Sopenharmony_ci
137a339c2d4Sopenharmony_ci  subsystem_name = "useriam"
138a339c2d4Sopenharmony_ci  part_name = "pin_auth"
139a339c2d4Sopenharmony_ci}
140