1020a203aSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 2020a203aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3020a203aSopenharmony_ci# you may not use this file except in compliance with the License. 4020a203aSopenharmony_ci# You may obtain a copy of the License at 5020a203aSopenharmony_ci# 6020a203aSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7020a203aSopenharmony_ci# 8020a203aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9020a203aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10020a203aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11020a203aSopenharmony_ci# See the License for the specific language governing permissions and 12020a203aSopenharmony_ci# limitations under the License. 13020a203aSopenharmony_ci 14020a203aSopenharmony_ciimport("//base/hiviewdfx/hiview/hiview.gni") 15020a203aSopenharmony_ciimport("//build/ohos.gni") 16020a203aSopenharmony_ciimport("//build/test.gni") 17020a203aSopenharmony_ci 18020a203aSopenharmony_cimodule_output_path = "hiview/hiview/leak_detector" 19020a203aSopenharmony_ci 20020a203aSopenharmony_ciconfig("leak_detector_test_config") { 21020a203aSopenharmony_ci visibility = [ ":*" ] 22020a203aSopenharmony_ci include_dirs = [ 23020a203aSopenharmony_ci ".", 24020a203aSopenharmony_ci "..", 25020a203aSopenharmony_ci "../base", 26020a203aSopenharmony_ci "../native_leak", 27020a203aSopenharmony_ci "$hiview_base/event_raw/include", 28020a203aSopenharmony_ci "$hiview_base/event_publish/include", 29020a203aSopenharmony_ci "$hiview_base/include", 30020a203aSopenharmony_ci "$hiview_base/logstore/include", 31020a203aSopenharmony_ci "$hiview_base/utility/include", 32020a203aSopenharmony_ci "$hiview_root/include", 33020a203aSopenharmony_ci "$hiview_root/interfaces/inner_api/unified_collection", 34020a203aSopenharmony_ci "$hiview_root/interfaces/inner_api/unified_collection/utility", 35020a203aSopenharmony_ci "$hiview_plugin/faultlogger/common", 36020a203aSopenharmony_ci "$hiview_plugin/faultlogger/service", 37020a203aSopenharmony_ci ] 38020a203aSopenharmony_ci} 39020a203aSopenharmony_ci 40020a203aSopenharmony_ciohos_unittest("LeakDetectorUnitTest") { 41020a203aSopenharmony_ci module_out_path = module_output_path 42020a203aSopenharmony_ci 43020a203aSopenharmony_ci if (hiview_enable_leak_detector) { 44020a203aSopenharmony_ci part_name = "hiview" 45020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 46020a203aSopenharmony_ci 47020a203aSopenharmony_ci sources = [ 48020a203aSopenharmony_ci "../native_leak/native_leak_config.cpp", 49020a203aSopenharmony_ci "test_util.cpp", 50020a203aSopenharmony_ci "unittest/leak_detector_unit_test.cpp", 51020a203aSopenharmony_ci ] 52020a203aSopenharmony_ci 53020a203aSopenharmony_ci configs = [ ":leak_detector_test_config" ] 54020a203aSopenharmony_ci 55020a203aSopenharmony_ci cflags = [ "-DUNITTEST" ] 56020a203aSopenharmony_ci 57020a203aSopenharmony_ci external_deps = [ 58020a203aSopenharmony_ci "bundle_framework:appexecfwk_base", 59020a203aSopenharmony_ci "bundle_framework:appexecfwk_core", 60020a203aSopenharmony_ci "c_utils:utils", 61020a203aSopenharmony_ci "ffrt:libffrt", 62020a203aSopenharmony_ci "hilog:libhilog", 63020a203aSopenharmony_ci "hiprofiler:libnative_daemon_client", 64020a203aSopenharmony_ci "hisysevent:libhisysevent", 65020a203aSopenharmony_ci "init:libbegetutil", 66020a203aSopenharmony_ci ] 67020a203aSopenharmony_ci 68020a203aSopenharmony_ci if (has_hiprofiler) { 69020a203aSopenharmony_ci cflags += [ "-DHAS_HIPROFILER" ] 70020a203aSopenharmony_ci } 71020a203aSopenharmony_ci } 72020a203aSopenharmony_ci} 73020a203aSopenharmony_ci 74020a203aSopenharmony_ciohos_moduletest("LeakDetectorModuleTest") { 75020a203aSopenharmony_ci module_out_path = module_output_path 76020a203aSopenharmony_ci 77020a203aSopenharmony_ci if (hiview_enable_leak_detector) { 78020a203aSopenharmony_ci part_name = "hiview" 79020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 80020a203aSopenharmony_ci 81020a203aSopenharmony_ci sources = [ 82020a203aSopenharmony_ci "moduletest/leak_detector_module_test.cpp", 83020a203aSopenharmony_ci "test_util.cpp", 84020a203aSopenharmony_ci ] 85020a203aSopenharmony_ci 86020a203aSopenharmony_ci configs = [ ":leak_detector_test_config" ] 87020a203aSopenharmony_ci 88020a203aSopenharmony_ci cflags = [ "-DMOUDLETEST" ] 89020a203aSopenharmony_ci 90020a203aSopenharmony_ci external_deps = [ 91020a203aSopenharmony_ci "bundle_framework:appexecfwk_base", 92020a203aSopenharmony_ci "bundle_framework:appexecfwk_core", 93020a203aSopenharmony_ci "c_utils:utils", 94020a203aSopenharmony_ci "ffrt:libffrt", 95020a203aSopenharmony_ci "hilog:libhilog", 96020a203aSopenharmony_ci "hiprofiler:libnative_daemon_client", 97020a203aSopenharmony_ci "hisysevent:libhisysevent", 98020a203aSopenharmony_ci "init:libbegetutil", 99020a203aSopenharmony_ci ] 100020a203aSopenharmony_ci 101020a203aSopenharmony_ci if (has_hiprofiler) { 102020a203aSopenharmony_ci cflags += [ "-DHAS_HIPROFILER" ] 103020a203aSopenharmony_ci } 104020a203aSopenharmony_ci } 105020a203aSopenharmony_ci} 106