1# Copyright (c) 2023 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("../../../../dlp_permission_service.gni")
16
17ohos_unittest("dlp_file_test") {
18  branch_protector_ret = "pac_ret"
19
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24  }
25
26  subsystem_name = "security"
27  part_name = "dlp_permission_service"
28  module_out_path = part_name + "/" + part_name
29
30  include_dirs = [
31    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/include",
32    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
33    "${dlp_root_dir}/frameworks/common/include",
34    "${dlp_root_dir}/frameworks/test/mock/",
35    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
36    "${dlp_root_dir}/services/dlp_permission/sa/mock",
37    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
38  ]
39
40  sources = [
41    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
42    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
43    "${dlp_root_dir}/frameworks/test/mock/c_mock_common.cpp",
44    "${dlp_root_dir}/frameworks/test/mock/dlp_permission_kit.cpp",
45    "${dlp_root_dir}/frameworks/test/mock/dlp_utils_mock.cpp",
46    "${dlp_root_dir}/services/dlp_permission/sa/adapt/file_operator.cpp",
47    "unittest/src/dlp_file_test.cpp",
48  ]
49
50  cflags_cc = [
51    "-DHILOG_ENABLE",
52    "-DFUSE_USE_VERSION=35",
53  ]
54
55  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
56
57  deps = [
58    "${dlp_root_dir}/interfaces/inner_api/dlp_parse:libdlpparse_inner",
59    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
60    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_serializer_static",
61  ]
62
63  external_deps = [
64    "bundle_framework:appexecfwk_base",
65    "bundle_framework:appexecfwk_core",
66    "c_utils:utils",
67    "hilog:libhilog",
68    "hitrace:hitrace_meter",
69    "ipc:ipc_core",
70    "openssl:libcrypto_shared",
71    "os_account:os_account_innerkits",
72    "zlib:shared_libz",
73  ]
74
75  if (current_cpu == "arm64") {
76    defines = [ "_ARM64_" ]
77  }
78}
79
80ohos_unittest("dlp_fuse_test") {
81  branch_protector_ret = "pac_ret"
82
83  sanitize = {
84    cfi = true
85    cfi_cross_dso = true
86    debug = false
87  }
88
89  subsystem_name = "security"
90  part_name = "dlp_permission_service"
91  module_out_path = part_name + "/" + part_name
92
93  include_dirs = [
94    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/include",
95    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
96    "${dlp_root_dir}/frameworks/common/include",
97    "${dlp_root_dir}/frameworks/test/mock/",
98    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
99    "${dlp_root_dir}/services/dlp_permission/sa/mock",
100    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
101  ]
102
103  sources = [
104    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
105    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
106    "${dlp_root_dir}/frameworks/test/mock/c_mock_common.cpp",
107    "${dlp_root_dir}/frameworks/test/mock/dlp_permission_kit.cpp",
108    "${dlp_root_dir}/frameworks/test/mock/dlp_utils_mock.cpp",
109    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_fuse_fd.c",
110    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_link_file.cpp",
111    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_link_manager.cpp",
112    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/fuse_daemon.cpp",
113    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_crypt.cpp",
114    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file.cpp",
115    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_kits.cpp",
116    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_manager.cpp",
117    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_zip.cpp",
118    "${dlp_root_dir}/services/dlp_permission/sa/adapt/file_operator.cpp",
119    "unittest/src/dlp_fuse_test.cpp",
120    "unittest/src/fuse_daemon_test.cpp",
121    "unittest/src/fuse_mock.cpp",
122  ]
123
124  cflags_cc = [
125    "-DHILOG_ENABLE",
126    "-DFUSE_USE_VERSION=35",
127  ]
128
129  cflags = [ "-DHILOG_ENABLE" ]
130
131  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
132
133  deps = [
134    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
135    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_serializer_static",
136  ]
137
138  external_deps = [
139    "ability_base:want",
140    "ability_base:zuri",
141    "access_token:libaccesstoken_sdk",
142    "access_token:libtokensetproc_shared",
143    "app_file_service:fileuri_native",
144    "bundle_framework:appexecfwk_base",
145    "bundle_framework:appexecfwk_core",
146    "c_utils:utils",
147    "hilog:libhilog",
148    "hitrace:hitrace_meter",
149    "ipc:ipc_core",
150    "libfuse:libfuse",
151    "openssl:libcrypto_shared",
152    "os_account:libaccountkits",
153    "os_account:os_account_innerkits",
154    "samgr:samgr_proxy",
155    "zlib:shared_libz",
156  ]
157
158  if (current_cpu == "arm64") {
159    defines = [ "_ARM64_" ]
160  }
161}
162
163group("unittest") {
164  testonly = true
165  deps = [
166    ":dlp_file_test",
167    ":dlp_fuse_test",
168  ]
169}
170