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    "json:nlohmann_json_static",
71    "openssl:libcrypto_shared",
72    "os_account:os_account_innerkits",
73    "zlib:shared_libz",
74  ]
75
76  if (current_cpu == "arm64") {
77    defines = [ "_ARM64_" ]
78  }
79}
80
81ohos_unittest("dlp_fuse_test") {
82  branch_protector_ret = "pac_ret"
83
84  sanitize = {
85    cfi = true
86    cfi_cross_dso = true
87    debug = false
88  }
89
90  subsystem_name = "security"
91  part_name = "dlp_permission_service"
92  module_out_path = part_name + "/" + part_name
93
94  include_dirs = [
95    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/include",
96    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
97    "${dlp_root_dir}/frameworks/common/include",
98    "${dlp_root_dir}/frameworks/test/mock/",
99    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
100    "${dlp_root_dir}/services/dlp_permission/sa/mock",
101    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
102  ]
103
104  sources = [
105    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
106    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
107    "${dlp_root_dir}/frameworks/test/mock/c_mock_common.cpp",
108    "${dlp_root_dir}/frameworks/test/mock/dlp_permission_kit.cpp",
109    "${dlp_root_dir}/frameworks/test/mock/dlp_utils_mock.cpp",
110    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_fuse_fd.c",
111    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_link_file.cpp",
112    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/dlp_link_manager.cpp",
113    "${dlp_root_dir}/interfaces/inner_api/dlp_fuse/src/fuse_daemon.cpp",
114    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_crypt.cpp",
115    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file.cpp",
116    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_kits.cpp",
117    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_manager.cpp",
118    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_zip.cpp",
119    "${dlp_root_dir}/services/dlp_permission/sa/adapt/file_operator.cpp",
120    "unittest/src/dlp_fuse_test.cpp",
121    "unittest/src/fuse_daemon_test.cpp",
122    "unittest/src/fuse_mock.cpp",
123  ]
124
125  cflags_cc = [
126    "-DHILOG_ENABLE",
127    "-DFUSE_USE_VERSION=35",
128  ]
129
130  cflags = [ "-DHILOG_ENABLE" ]
131
132  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
133
134  deps = [
135    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
136    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_serializer_static",
137  ]
138
139  external_deps = [
140    "ability_base:want",
141    "ability_base:zuri",
142    "access_token:libaccesstoken_sdk",
143    "access_token:libtokensetproc_shared",
144    "app_file_service:fileuri_native",
145    "bundle_framework:appexecfwk_base",
146    "bundle_framework:appexecfwk_core",
147    "c_utils:utils",
148    "hilog:libhilog",
149    "hitrace:hitrace_meter",
150    "ipc:ipc_core",
151    "libfuse:libfuse",
152    "openssl:libcrypto_shared",
153    "os_account:libaccountkits",
154    "os_account:os_account_innerkits",
155    "samgr:samgr_proxy",
156    "zlib:shared_libz",
157  ]
158
159  if (current_cpu == "arm64") {
160    defines = [ "_ARM64_" ]
161  }
162}
163
164group("unittest") {
165  testonly = true
166  deps = [
167    ":dlp_file_test",
168    ":dlp_fuse_test",
169  ]
170}
171