1# Copyright (c) 2021 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("../../../hidumper.gni")
16
17module_output_path = "hiviewdfx/hidumper"
18
19source_path = "${hidumper_frameworks_path}"
20
21###############################################################################
22config("module_private_config") {
23  visibility = [ ":*" ]
24
25  include_dirs = [
26    ".",
27    "../../",
28    "${hidumper_interface}/innerkits/include/",
29    "${hidumper_interface}/native/innerkits/include/",
30    "../../../utils/native/include/",
31    "../../../services/zidl/include",
32    "../../../services/native/include",
33    "${source_path}/include",
34    "${source_path}/",
35    "${source_path}/manager",
36    "${source_path}/dumpers",
37    "include",
38    "${hidumper_frameworks_path}",
39    "${hidumper_frameworks_path}/include",
40    "${hidumper_frameworks_path}/include/common",
41    "${hidumper_frameworks_path}/include/executor",
42    "${hidumper_frameworks_path}/include/factory",
43    "${hidumper_service_path}:interface_include",
44    "${hidumper_service_path}/zidl/include",
45    "${hidumper_service_path}/native/include",
46  ]
47
48  cflags_cc = [ "-DDUMP_TEST_MODE" ]
49}
50
51##############################unittest##########################################
52ohos_unittest("HidumperServiceTest") {
53  module_out_path = module_output_path
54
55  sources = [ "hidumper_service_test.cpp" ]
56
57  configs = [
58    "${hidumper_utils_path}:utils_config",
59    ":module_private_config",
60  ]
61
62  deps = [ "${hidumper_service_path}:hidumperservice_source" ]
63
64  external_deps = [
65    "c_utils:utils",
66    "eventhandler:libeventhandler",
67    "hilog:libhilog",
68    "ipc:ipc_core",
69    "safwk:system_ability_fwk",
70    "samgr:samgr_proxy",
71  ]
72
73  cflags = [
74    "-Dprivate=public",  #allow test code access private members
75  ]
76}
77
78ohos_unittest("HidumperDumpersTest") {
79  module_out_path = module_output_path
80
81  sources = [ "hidumper_dumpers_test.cpp" ]
82
83  configs = [
84    "${hidumper_utils_path}:utils_config",
85    ":module_private_config",
86  ]
87
88  deps = [
89    "${hidumper_service_path}:hidumperservice_cpu_source_test",
90    "${hidumper_service_path}:hidumperservice_source",
91  ]
92
93  external_deps = [
94    "c_utils:utils",
95    "hilog:libhilog",
96    "ipc:ipc_core",
97    "samgr:samgr_proxy",
98  ]
99
100  defines = []
101  if (hidumper_ability_runtime_enable) {
102    external_deps += [ "ability_runtime:app_manager" ]
103    defines += [ "HIDUMPER_ABILITY_RUNTIME_ENABLE" ]
104  }
105}
106
107ohos_unittest("HidumperOutputTest") {
108  module_out_path = module_output_path
109
110  sources = [ "hidumper_output_test.cpp" ]
111
112  configs = [
113    "${hidumper_utils_path}:utils_config",
114    ":module_private_config",
115  ]
116
117  deps = [ "${hidumper_service_path}:hidumperservice_source" ]
118
119  external_deps = [
120    "c_utils:utils",
121    "hilog:libhilog",
122    "ipc:ipc_core",
123    "zlib:shared_libz",
124  ]
125}
126
127ohos_unittest("HidumperConfigUtilsTest") {
128  module_out_path = module_output_path
129
130  sources = [ "hidumper_configutils_test.cpp" ]
131
132  configs = [
133    "${hidumper_utils_path}:utils_config",
134    ":module_private_config",
135  ]
136
137  deps = [ "${hidumper_service_path}:hidumperservice_source" ]
138
139  external_deps = [
140    "c_utils:utils",
141    "hilog:libhilog",
142    "init:libbegetutil",
143    "ipc:ipc_core",
144    "safwk:system_ability_fwk",
145    "samgr:samgr_proxy",
146    "zlib:shared_libz",
147  ]
148}
149
150ohos_unittest("MemoryDumperTest") {
151  module_out_path = module_output_path
152
153  sources = [
154    "${hidumper_frameworks_path}/src/executor/memory/memory_util.cpp",
155    "hidumper_test_utils.cpp",
156    "memory_dumper_test.cpp",
157  ]
158
159  configs = [ ":module_private_config" ]
160
161  deps = [ "${hidumper_service_path}:hidumperservice_source" ]
162
163  external_deps = [
164    "c_utils:utils",
165    "drivers_interface_memorytracker:libmemorytracker_proxy_1.0",
166    "hdf_core:libhdf_utils",
167    "hilog:libhilog",
168    "ipc:ipc_core",
169    "safwk:system_ability_fwk",
170  ]
171  cflags = [
172    "-Dprivate=public",  #allow test code access private members
173  ]
174}
175
176ohos_unittest("HidumperMemoryTest") {
177  module_out_path = module_output_path
178
179  sources = [
180    "hidumper_memory_test.cpp",
181    "hidumper_test_utils.cpp",
182  ]
183
184  configs = [ ":module_private_config" ]
185
186  deps = [
187    #"${hidumper_service_path}:hidumperservice_source",
188    "${hidumper_service_path}:hidumpermemory_source",
189  ]
190
191  external_deps = [
192    "c_utils:utils",
193    "drivers_interface_memorytracker:libmemorytracker_proxy_1.0",
194    "hdf_core:libhdf_utils",
195    "hilog:libhilog",
196    "hiview:libucollection_utility",
197    "ipc:ipc_core",
198    "safwk:system_ability_fwk",
199  ]
200  cflags = [
201    "-Dprivate=public",  #allow test code access private members
202  ]
203}
204
205ohos_unittest("SADumperTest") {
206  module_out_path = module_output_path
207  sources = [
208    "hidumper_test_utils.cpp",
209    "sa_dumper_test.cpp",
210  ]
211  configs = [ ":module_private_config" ]
212  deps = []
213  external_deps = [
214    "c_utils:utils",
215    "hilog:libhilog",
216    "ipc:ipc_core",
217  ]
218}
219
220ohos_unittest("HidumperPrivacyTest") {
221  module_out_path = module_output_path
222
223  sources = [
224    "hidumper_privacy_test.cpp",
225    "hidumper_test_utils.cpp",
226  ]
227
228  configs = [ ":module_private_config" ]
229
230  deps = []
231
232  external_deps = [ "c_utils:utils" ]
233}
234
235ohos_unittest("HidumperInnerkitsTest") {
236  module_out_path = module_output_path
237
238  sources = [
239    "${hidumper_frameworks_path}/src/executor/memory/get_heap_info.cpp",
240    "${hidumper_frameworks_path}/src/executor/memory/memory_filter.cpp",
241    "${hidumper_frameworks_path}/src/executor/memory/memory_util.cpp",
242    "${hidumper_frameworks_path}/src/executor/memory/parse/parse_smaps_info.cpp",
243    "hidumper_innerkits_test.cpp",
244  ]
245
246  configs = [ ":module_private_config" ]
247
248  deps = [
249    "${hidumper_service_path}:hidumperservice_source",
250    "../../../interfaces/innerkits:lib_dump_usage",
251  ]
252
253  external_deps = [
254    "c_utils:utils",
255    "drivers_interface_memorytracker:libmemorytracker_proxy_1.0",
256    "hdf_core:libhdf_utils",
257    "hilog:libhilog",
258    "hiview:libucollection_utility",
259    "ipc:ipc_core",
260    "samgr:samgr_proxy",
261  ]
262}
263
264ohos_unittest("HidumperManagerTest") {
265  module_out_path = module_output_path
266
267  sources = [
268    "hidumper_manager_test.cpp",
269    "hidumper_test_utils.cpp",
270  ]
271
272  configs = [ ":module_private_config" ]
273
274  deps = [ "${hidumper_service_path}:hidumperservice_source" ]
275
276  external_deps = [
277    "c_utils:utils",
278    "hilog:libhilog",
279    "init:libbegetutil",
280    "ipc:ipc_core",
281    "samgr:samgr_proxy",
282  ]
283
284  cflags = [
285    "-Dprivate=public",  #allow test code access private members
286  ]
287}
288
289ohos_unittest("HidumperCpuServiceTest") {
290  module_out_path = module_output_path
291
292  sources = [ "hidumper_cpu_service_test.cpp" ]
293
294  configs = [
295    "${hidumper_utils_path}:utils_config",
296    ":module_private_config",
297  ]
298
299  deps = [
300    "${hidumper_service_path}:hidumperservice_cpu_source_test",
301    "${hidumper_service_path}:hidumperservice_source",
302  ]
303
304  external_deps = [
305    "c_utils:utils",
306    "eventhandler:libeventhandler",
307    "hilog:libhilog",
308    "ipc:ipc_core",
309    "safwk:system_ability_fwk",
310    "samgr:samgr_proxy",
311  ]
312  defines = []
313  if (hidumper_ablility_base_enable) {
314    external_deps += [ "ability_base:want" ]
315    external_deps += [ "ability_runtime:app_manager" ]
316    defines += [ "HIDUMPER_ABILITY_BASE_ENABLE" ]
317  }
318
319  cflags = [
320    "-Dprivate=public",  #allow test code access private members
321  ]
322}
323
324ohos_unittest("HidumperClientTest") {
325  module_out_path = module_output_path
326
327  sources = [
328    "hidumper_client_test.cpp",
329    "hidumper_test_utils.cpp",
330  ]
331
332  configs = [ ":module_private_config" ]
333
334  deps = [
335    "${hidumper_frameworks_path}:hidumperclient",
336    "${hidumper_service_path}:hidumper_client",
337  ]
338
339  external_deps = [
340    "ability_runtime:app_manager",
341    "c_utils:utils",
342    "hilog:libhilog",
343    "init:libbegetutil",
344    "ipc:ipc_core",
345    "samgr:samgr_proxy",
346  ]
347
348  cflags = [
349    "-Dprivate=public",  #allow test code access private members
350  ]
351}
352
353ohos_unittest("HidumperZidlTest") {
354  module_out_path = module_output_path
355
356  sources = [ "hidumper_zidl_test.cpp" ]
357
358  configs = [
359    ":module_private_config",
360    "${hidumper_service_path}:zidl_config",
361  ]
362
363  deps = [ "${hidumper_service_path}:zidl_service" ]
364
365  external_deps = [
366    "hilog:libhilog",
367    "ipc:ipc_core",
368  ]
369  cflags = [
370    "-Dprivate=public",  #allow test code access private members
371  ]
372}
373
374ohos_unittest("HidumperCpuZidlTest") {
375  module_out_path = module_output_path
376
377  sources = [
378    "${hidumper_service_path}/native/src/dump_cpu_data.cpp",
379    "hidumper_cpu_zidl_test.cpp",
380  ]
381
382  configs = [
383    ":module_private_config",
384    "${hidumper_service_path}:dump_cpu_config",
385    "${hidumper_service_path}:zidl_config",
386  ]
387
388  deps = [ "${hidumper_service_path}:zidl_cpu_service" ]
389
390  external_deps = [
391    "hilog:libhilog",
392    "ipc:ipc_core",
393  ]
394  cflags = [
395    "-Dprivate=public",  #allow test code access private members
396  ]
397}
398
399###############################################################################
400group("unittest") {
401  testonly = true
402
403  deps = [
404    # deps file
405    ":HidumperClientTest",
406    ":HidumperConfigUtilsTest",
407    ":HidumperCpuServiceTest",
408    ":HidumperDumpersTest",
409    ":HidumperInnerkitsTest",
410    ":HidumperManagerTest",
411    ":HidumperMemoryTest",
412    ":HidumperOutputTest",
413    ":HidumperPrivacyTest",
414    ":HidumperServiceTest",
415    ":HidumperZidlTest",
416    ":MemoryDumperTest",
417    ":SADumperTest",
418  ]
419}
420###############################################################################
421