1# Copyright (c) 2023 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("../../../powermgr.gni") 16 17module_output_path = "power_manager/power_manager" 18 19##############################fuzztest########################################## 20ohos_fuzztest("HibernateFuzzTest") { 21 module_out_path = module_output_path 22 fuzz_config_file = "${powermgr_root_path}/test/fuzztest/hibernate_fuzzer" 23 24 include_dirs = [ 25 "${powermgr_service_path}/native/src/hibernate", 26 "${powermgr_service_path}/native/src/proximity_sensor_controller", 27 "${powermgr_service_path}/native/src/runninglock", 28 "${powermgr_service_path}/native/src/shutdown", 29 "${powermgr_service_path}/native/src/suspend", 30 "${powermgr_service_path}/native/src/wakeup", 31 "${powermgr_service_path}/native/src/screenoffpre", 32 "../power_utils", 33 ] 34 35 if (power_manager_feature_wakeup_action) { 36 include_dirs += [ "${powermgr_service_path}/native/src/wakeup_action" ] 37 } 38 39 configs = [ 40 "${powermgr_utils_path}:coverage_flags", 41 "${powermgr_utils_path}:utils_config", 42 ] 43 44 cflags = [ 45 "-g", 46 "-O0", 47 "-Wno-unused-variable", 48 "-fno-omit-frame-pointer", 49 ] 50 sources = [ 51 "../power_utils/power_fuzzer.cpp", 52 "./hibernate_fuzzer_test.cpp", 53 ] 54 deps = [ 55 "${powermgr_service_path}:powermgr_stub", 56 "${powermgr_service_path}:powermgrservice", 57 "${powermgr_service_path}/native/src/actions:powermgr_actions", 58 "//third_party/jsoncpp:jsoncpp", 59 ] 60 61 external_deps = [ 62 "ability_runtime:ability_manager", 63 "c_utils:utils", 64 "ffrt:libffrt", 65 "hilog:libhilog", 66 "input:libmmi-client", 67 "ipc:ipc_core", 68 "power_manager:power_ffrt", 69 ] 70 defines = [] 71 72 if (has_hiviewdfx_hisysevent_part) { 73 external_deps += [ "hisysevent:libhisysevent" ] 74 } 75 76 if (has_hiviewdfx_hitrace_part) { 77 external_deps += [ "hitrace:hitrace_meter" ] 78 } 79 80 if (power_manager_feature_movement) { 81 defines += [ "MSDP_MOVEMENT_ENABLE" ] 82 } 83 84 if (use_libfuzzer) { 85 defines += [ "FUZZ_TEST" ] 86 } 87 88 if (power_manager_feature_screen_on_timeout_check) { 89 defines += [ "SCREEN_ON_TIMEOUT_CHECK" ] 90 external_deps += [ 91 "ability_runtime:app_manager", 92 "window_manager:libwm", 93 ] 94 } 95 96 if (has_display_manager_part) { 97 defines += [ "HAS_DISPLAY_MANAGER" ] 98 external_deps += [ 99 "display_manager:displaymgr", 100 "window_manager:libdm_lite", 101 ] 102 } 103 104 if (has_device_standby_part) { 105 external_deps += [ "device_standby:standby_innerkits" ] 106 } 107 108 if (has_multimodalinput_input_part) { 109 external_deps += [ "input:libmmi-client" ] 110 } 111 112 if (has_sensors_sensor_part) { 113 external_deps += [ "sensor:sensor_interface_native" ] 114 } 115 116 if (power_manager_feature_poweroff_charge && defined(global_parts_info) && 117 defined(global_parts_info.powermgr_battery_manager)) { 118 defines += [ "POWER_MANAGER_POWEROFF_CHARGE" ] 119 external_deps += [ "battery_manager:batterysrv_client" ] 120 } 121 122 if (power_manager_feature_doubleclick) { 123 defines += [ "POWER_DOUBLECLICK_ENABLE" ] 124 } 125 126 if (power_manager_feature_pickup) { 127 defines += [ "POWER_PICKUP_ENABLE" ] 128 } 129 130 if (power_manager_feature_power_dialog) { 131 defines += [ "POWER_MANAGER_POWER_DIALOG" ] 132 } 133 134 if (power_manager_feature_force_sleep_broadcast) { 135 defines += [ "POWER_MANAGER_ENABLE_FORCE_SLEEP_BROADCAST" ] 136 } 137 138 if (power_manager_feature_charging_type_setting && 139 defined(global_parts_info) && 140 defined(global_parts_info.powermgr_battery_manager)) { 141 defines += [ "POWER_MANAGER_ENABLE_CHARGING_TYPE_SETTING" ] 142 external_deps += [ "battery_manager:batterysrv_client" ] 143 } 144 145 if (power_manager_feature_external_screen_management) { 146 defines += [ "POWER_MANAGER_ENABLE_EXTERNAL_SCREEN_MANAGEMENT" ] 147 } 148 149 if (factory == true) { 150 defines += [ "CONFIG_FACTORY_MODE" ] 151 } 152} 153