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
17config("dlp_unittest_config") {
18  visibility = [ ":*" ]
19  include_dirs = [
20    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
21    "${dlp_root_dir}/frameworks/common/include",
22  ]
23  cflags = [
24    "-D_GNU_SOURCE",
25    "-w",
26  ]
27}
28
29ohos_unittest("dlp_parse_test") {
30  branch_protector_ret = "pac_ret"
31
32  sanitize = {
33    cfi = true
34    cfi_cross_dso = true
35    debug = false
36  }
37
38  subsystem_name = "security"
39  part_name = "dlp_permission_service"
40  module_out_path = part_name + "/" + part_name
41  public_configs = [ ":dlp_unittest_config" ]
42  sources = [
43    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
44    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
45    "${dlp_root_dir}/frameworks/test/mock/c_mock_common.cpp",
46    "${dlp_root_dir}/frameworks/test/mock/dlp_permission_kit.cpp",
47    "${dlp_root_dir}/frameworks/test/mock/dlp_utils_mock.cpp",
48    "${dlp_root_dir}/frameworks/test/mock/file_io_mock.cpp",
49    "${dlp_root_dir}/frameworks/test/mock/openssl_mock.cpp",
50    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_crypt.cpp",
51    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file.cpp",
52    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_kits.cpp",
53    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_file_manager.cpp",
54    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/src/dlp_zip.cpp",
55    "${dlp_root_dir}/services/dlp_permission/sa/adapt/file_operator.cpp",
56    "dlp_crypt_test.cpp",
57    "dlp_file_kits_test.cpp",
58    "dlp_file_manager_test.cpp",
59    "dlp_file_test.cpp",
60    "dlp_zip_test.cpp",
61  ]
62
63  include_dirs = [
64    "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
65    "${dlp_root_dir}/frameworks/common/include",
66    "${dlp_root_dir}/frameworks/test/mock/",
67    "${dlp_root_dir}/services/dlp_permission/sa/mock",
68    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
69    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
70  ]
71
72  deps = [
73    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
74    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_serializer_static",
75  ]
76
77  external_deps = [
78    "ability_base:base",
79    "ability_base:want",
80    "ability_base:zuri",
81    "access_token:libaccesstoken_sdk",
82    "access_token:libtokensetproc_shared",
83    "app_file_service:fileuri_native",
84    "bundle_framework:appexecfwk_base",
85    "bundle_framework:appexecfwk_core",
86    "c_utils:utils",
87    "hilog:libhilog",
88    "hitrace:hitrace_meter",
89    "ipc:ipc_core",
90    "openssl:libcrypto_shared",
91    "os_account:libaccountkits",
92    "os_account:os_account_innerkits",
93    "samgr:samgr_proxy",
94    "zlib:shared_libz",
95  ]
96
97  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
98
99  cflags_cc = [ "-DHILOG_ENABLE" ]
100
101  if (current_cpu == "arm64") {
102    defines = [ "_ARM64_" ]
103  }
104}
105
106group("unittest") {
107  testonly = true
108  deps = [ ":dlp_parse_test" ]
109}
110