1# Copyright (c) 2022 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")
16
17config("dslm_cmoker") {
18  include_dirs = [ "cmocker" ]
19}
20
21group("dslm_test") {
22  testonly = true
23  deps = []
24
25  if (os_level == "standard") {
26    deps += [ ":DslmUnitTest" ]
27  }
28}
29
30if (os_level == "standard") {
31  # test unittest
32  ohos_unittest("DslmUnitTest") {
33    sanitize = {
34      integer_overflow = true
35      ubsan = true
36      boundary_sanitize = true
37      cfi = true
38      cfi_cross_dso = true
39      blocklist = "../../cfi_blocklist.txt"
40    }
41    branch_protector_ret = "pac_ret"
42
43    install_enable = true
44    testonly = true
45    part_name = "device_security_level"
46    subsystem_name = "security"
47    module_out_path = "${part_name}/${target_name}"
48
49    defines = [ "UT_ENABLE=1" ]
50
51    sources = [
52      "../../baselib/msglib/src/common/messenger.c",
53      "../../baselib/msglib/src/standard/messenger_device_socket_manager.c",
54      "../../baselib/msglib/src/standard/messenger_device_status_manager.cpp",
55      "../../baselib/msglib/src/utils/messenger_utils.c",
56      "../../baselib/utils/src/utils_work_queue.c",
57      "../../oem_property/ohos/standard/dslm_ohos_credential.c",
58      "../../services/dfx/dslm_bigdata.cpp",
59      "../../services/dfx/dslm_hidumper.c",
60      "../../services/dfx/dslm_hitrace.cpp",
61      "../../services/msg/dslm_messenger_wrapper.c",
62      "../../services/sa/common/dslm_rpc_process.c",
63      "device_manager.cpp",
64      "device_manager_mock.cpp",
65      "dslm_baselib_utils_test.cpp",
66      "dslm_memory_mock.cpp",
67      "dslm_msg_interface_mock.cpp",
68      "dslm_msg_lib_test.cpp",
69      "dslm_oem_property_test.cpp",
70      "dslm_request_callback_mock.cpp",
71      "dslm_rpc_process_test.cpp",
72      "dslm_test.cpp",
73    ]
74
75    include_dirs = [
76      ".",
77      "../../baselib/msglib/include",
78      "../../baselib/msglib/src/common",
79      "../../baselib/msglib/src/standard",
80      "../../baselib/msglib/src/utils",
81      "../../common/include",
82      "../../interfaces/inner_api/include",
83      "../../interfaces/inner_api/src/standard",
84      "../../oem_property/common",
85      "../../oem_property/include",
86      "../../oem_property/ohos/common",
87      "../../oem_property/ohos/standard/impl",
88      "../../services/include",
89      "../../services/dslm",
90      "../../services/sa/common",
91    ]
92
93    configs = [ "../../common:common_configs" ]
94
95    configs += [ ":dslm_cmoker" ]
96
97    deps = [
98      "../../baselib/utils:utils_static",
99      "../../oem_property/ohos/standard:dslm_ohos_cred_obj",
100      "../../services/common:service_common_obj",
101      "../../services/dslm:service_dslm_test_obj",
102      "//third_party/googletest:gmock",
103    ]
104
105    external_deps = [
106      "access_token:libnativetoken",
107      "access_token:libtoken_setproc",
108      "c_utils:utils",
109      "device_security_level:dslm_sdk",
110      "dsoftbus:softbus_client",
111      "hilog:libhilog",
112      "hisysevent:libhisysevent",
113      "hitrace:hitrace_meter",
114      "huks:libhukssdk",
115    ]
116  }
117}
118