• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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