1# Copyright (c) 2021-2025 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") 15 16module_output_path = "hiview/faultlogger/faultlogger" 17 18config("hiview_faultlogger_test_config") { 19 visibility = [ ":*" ] 20 21 include_dirs = [ 22 ".", 23 "$hiview_core", 24 "$hiview_faultlogger/service/", 25 "$hiview_faultlogger/service/fault_event/base", 26 "$hiview_faultlogger/service/fault_event/event", 27 "$hiview_faultlogger/service/fault_event/factory", 28 "$hiview_faultlogger/service/fault_file", 29 "$hiview_faultlogger/service/idl/include/", 30 "$hiview_faultlogger/service/page_history", 31 "$hiview_faultlogger/service/sanitizer_collector/", 32 "$hiview_faultlogger/service/sanitizer_collector/gwp_asan", 33 "common", 34 "common/unittest", 35 ] 36 37 cflags_cc = [ "-DUNITTEST" ] 38} 39 40ohos_unittest("FaultloggerUnittest") { 41 module_out_path = module_output_path 42 43 defines = [ "UNIT_TEST" ] 44 45 configs = [ ":hiview_faultlogger_test_config" ] 46 47 cflags = [ "-Dprivate=public" ] 48 sources = [ 49 "$hiview_faultlogger/service/fault_event/base/faultlog_event_base.cpp", 50 "$hiview_faultlogger/service/fault_event/base/faultlog_processor_base.cpp", 51 "$hiview_faultlogger/service/fault_event/event/faultlog_cjerror.cpp", 52 "$hiview_faultlogger/service/fault_event/event/faultlog_cppcrash.cpp", 53 "$hiview_faultlogger/service/fault_event/event/faultlog_error_reporter.cpp", 54 "$hiview_faultlogger/service/fault_event/event/faultlog_events_processor.cpp", 55 "$hiview_faultlogger/service/fault_event/event/faultlog_freeze.cpp", 56 "$hiview_faultlogger/service/fault_event/event/faultlog_jserror.cpp", 57 "$hiview_faultlogger/service/fault_event/event/faultlog_rust_panic.cpp", 58 "$hiview_faultlogger/service/fault_event/event/faultlog_sanitizer.cpp", 59 "$hiview_faultlogger/service/fault_event/event/freeze_json_generator.cpp", 60 "$hiview_faultlogger/service/fault_event/factory/faultlog_event_factory.cpp", 61 "$hiview_faultlogger/service/fault_event/factory/faultlog_processor_factory.cpp", 62 "$hiview_faultlogger/service/fault_file/faultlog_bootscan.cpp", 63 "$hiview_faultlogger/service/fault_file/faultlog_database.cpp", 64 "$hiview_faultlogger/service/fault_file/faultlog_dump.cpp", 65 "$hiview_faultlogger/service/fault_file/faultlog_formatter.cpp", 66 "$hiview_faultlogger/service/fault_file/faultlog_manager.cpp", 67 "$hiview_faultlogger/service/faultlog_manager_service.cpp", 68 "$hiview_faultlogger/service/faultlogger.cpp", 69 "$hiview_faultlogger/service/page_history/page_history_manager.cpp", 70 "$hiview_faultlogger/service/page_history/page_history_recorder.cpp", 71 "$hiview_faultlogger/service/page_history/pages_trace.cpp", 72 "$hiview_faultlogger/service/sanitizer_collector/sanitizer_telemetry.cpp", 73 "common/faultevent_listener.cpp", 74 "common/unittest/faultlog_bundle_util_unittest.cpp", 75 "common/unittest/faultlog_formatter_unittest.cpp", 76 "common/unittest/faultlogger_unittest.cpp", 77 ] 78 79 if (!use_clang_coverage) { 80 sources += [ "common/unittest/rom_baseline.cpp" ] 81 } 82 83 cflags_cc = [ 84 "-Dprivate=public", 85 "-Dprotected=public", 86 ] 87 88 deps = [ 89 "$hiview_base:hiviewbase_static_lib_for_tdd", 90 "$hiview_base/event_publish:hiview_event_publish", 91 "$hiview_core:hiview_core_for_test", 92 "$hiview_framework/native/unified_collection:ucollection_source", 93 "$hiview_plugin/faultlogger/common:faultlogger_common", 94 "$hiview_plugin/faultlogger/common:log_analyzer", 95 "$hiview_plugin/faultlogger/service/idl:faultlogger_service_impl", 96 "$hiview_plugin/faultlogger/service/idl:faultlogger_service_ohos_common", 97 ] 98 99 external_deps = [ 100 "ability_base:want", 101 "access_token:libaccesstoken_sdk", 102 "bundle_framework:appexecfwk_base", 103 "bundle_framework:appexecfwk_core", 104 "faultloggerd:crash_exception", 105 "ffrt:libffrt", 106 "googletest:gtest_main", 107 "hilog:libhilog", 108 "hitrace:libhitracechain", 109 "hisysevent:libhisysevent", 110 "hisysevent:libhisyseventmanager", 111 "init:libbegetutil", 112 "ipc:ipc_single", 113 "safwk:system_ability_fwk", 114 "jsoncpp:jsoncpp", 115 ] 116 117 resource_config_file = "//base/hiviewdfx/hiview/plugins/faultlogger/test/common/resource/ohos_test.xml" 118} 119 120ohos_unittest("FaultloggerClientUnittest") { 121 module_out_path = module_output_path 122 123 configs = [ ":hiview_faultlogger_test_config" ] 124 125 sources = [ 126 "common/faultlogger_client_test.cpp", 127 "common/unittest/faultlogger_client_unittest.cpp", 128 ] 129 130 deps = [ 131 "$hiview_base:hiviewbase_static_lib_for_tdd", 132 "$hiview_faultlogger:libfaultlogger", 133 ] 134 135 external_deps = [ 136 "bounds_checking_function:libsec_shared", 137 "googletest:gtest_main", 138 "hilog:libhilog", 139 ] 140} 141 142ohos_unittest("AsanUnittest") { 143 module_out_path = module_output_path 144 145 configs = [ ":hiview_faultlogger_test_config" ] 146 147 sources = [ "common/unittest/asan_unittest.cpp" ] 148 149 deps = [ 150 "$hiview_base/utility:hiview_utility", 151 "$hiview_faultlogger:libfaultlogger", 152 "$hiview_faultlogger/service/sanitizer_collector/gwp_asan:libasan_logger", 153 ] 154 155 external_deps = [ 156 "bounds_checking_function:libsec_shared", 157 "googletest:gtest_main", 158 "jsoncpp:jsoncpp", 159 ] 160} 161 162ohos_unittest("FreezeJsonGeneratorUnittest") { 163 module_out_path = module_output_path 164 165 configs = [ ":hiview_faultlogger_test_config" ] 166 167 sources = [ "common/unittest/freeze_json_generator_unittest.cpp" ] 168 169 deps = [ 170 "$hiview_base:hiviewbase_static_lib_for_tdd", 171 "$hiview_faultlogger:libfaultlogger", 172 "$hiview_faultlogger/service:faultlogger_service", 173 ] 174 external_deps = [ 175 "googletest:gtest_main", 176 "hilog:libhilog", 177 ] 178} 179