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.
13import("//base/hiviewdfx/hiview/hiview.gni")
14import("//build/test.gni")
15module_output_path = "hiviewdfx/faultlogger/"
16
17config("hiview_faultlogger_test_config") {
18  visibility = [ ":*" ]
19
20  include_dirs = [
21    ".",
22    "$hiview_core",
23    "$hiview_faultlogger/service/",
24    "$hiview_faultlogger/service/sanitizer_collector/",
25    "$hiview_faultlogger/service/sanitizer_collector/gwp_asan",
26    "$hiview_faultlogger/service/idl/include/",
27    "common",
28    "common/unittest",
29  ]
30
31  cflags_cc = [ "-DUNITTEST" ]
32}
33
34ohos_unittest("FaultloggerUnittest") {
35  module_out_path = module_output_path
36
37  defines = [ "UNIT_TEST" ]
38
39  configs = [ ":hiview_faultlogger_test_config" ]
40
41  cflags = [ "-Dprivate=public" ]
42  sources = [
43    "$hiview_faultlogger/service/faultlog_database.cpp",
44    "$hiview_faultlogger/service/faultlog_formatter.cpp",
45    "$hiview_faultlogger/service/faultlog_manager.cpp",
46    "$hiview_faultlogger/service/faultlogger.cpp",
47    "$hiview_faultlogger/service/freeze_json_generator.cpp",
48    "$hiview_faultlogger/service/sanitizer_collector/zip_helper.cpp",
49    "common/faultevent_listener.cpp",
50    "common/unittest/faultlog_formatter_unittest.cpp",
51    "common/unittest/faultlogger_unittest.cpp",
52    "common/unittest/zip_helper_unittest.cpp",
53  ]
54  cflags_cc = [
55    "-Dprivate=public",
56    "-Dprotected=public",
57  ]
58
59  deps = [
60    "$hiview_base:hiviewbase_static_lib_for_tdd",
61    "$hiview_base/event_publish:hiview_event_publish",
62    "$hiview_core:hiview_core_for_test",
63    "$hiview_framework/native/unified_collection:ucollection_source",
64    "$hiview_plugin/faultlogger/common:faultlogger_common",
65    "$hiview_plugin/faultlogger/common:log_analyzer",
66    "$hiview_plugin/faultlogger/service:faultlogger_service_ability",
67    "$hiview_plugin/faultlogger/service/idl:faultlogger_service_ohos_common",
68  ]
69
70  external_deps = [
71    "ability_base:want",
72    "access_token:libaccesstoken_sdk",
73    "bundle_framework:appexecfwk_base",
74    "bundle_framework:appexecfwk_core",
75    "faultloggerd:crash_exception",
76    "ffrt:libffrt",
77    "googletest:gtest_main",
78    "hilog:libhilog",
79    "hisysevent:libhisysevent",
80    "hisysevent:libhisyseventmanager",
81    "init:libbegetutil",
82    "ipc:ipc_single",
83  ]
84
85  resource_config_file = "//base/hiviewdfx/hiview/plugins/faultlogger/test/common/resource/ohos_test.xml"
86}
87
88ohos_unittest("FaultloggerClientUnittest") {
89  module_out_path = module_output_path
90
91  configs = [ ":hiview_faultlogger_test_config" ]
92
93  sources = [
94    "common/faultlogger_client_test.cpp",
95    "common/unittest/faultlogger_client_unittest.cpp",
96  ]
97
98  deps = [
99    "$hiview_base:hiviewbase_static_lib_for_tdd",
100    "$hiview_faultlogger:libfaultlogger",
101  ]
102
103  external_deps = [
104    "googletest:gtest_main",
105    "hilog:libhilog",
106  ]
107}
108
109ohos_unittest("AsanUnittest") {
110  module_out_path = module_output_path
111
112  configs = [ ":hiview_faultlogger_test_config" ]
113
114  sources = [ "common/unittest/asan_unittest.cpp" ]
115
116  deps = [
117    "$hiview_faultlogger:libfaultlogger",
118    "$hiview_faultlogger/service/sanitizer_collector/gwp_asan:libasan_logger",
119  ]
120
121  external_deps = [ "googletest:gtest_main" ]
122}
123
124ohos_unittest("FreezeJsonGeneratorUnittest") {
125  module_out_path = module_output_path
126
127  configs = [ ":hiview_faultlogger_test_config" ]
128
129  sources = [ "common/unittest/freeze_json_generator_unittest.cpp" ]
130
131  deps = [
132    "$hiview_base:hiviewbase_static_lib_for_tdd",
133    "$hiview_faultlogger:libfaultlogger",
134    "$hiview_faultlogger/service:faultlogger_service",
135  ]
136  external_deps = [
137    "googletest:gtest_main",
138    "hilog:libhilog",
139  ]
140}
141