1# Copyright (c) 2021-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 = "${powermgr_part_name}/powermgr_native"
18
19###############################################################################
20config("module_private_config") {
21  visibility = [ ":*" ]
22
23  include_dirs = [
24    "include",
25    "mock",
26    "${powermgr_service_path}/native/src/hibernate",
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  ]
33
34  if (power_manager_feature_wakeup_action) {
35    include_dirs += [ "${powermgr_service_path}/native/src/wakeup_action" ]
36  }
37}
38
39deps_ex = [
40  "ability_base:base",
41  "ability_base:want",
42  "ability_runtime:ability_manager",
43  "bundle_framework:appexecfwk_base",
44  "bundle_framework:appexecfwk_core",
45  "c_utils:utils",
46  "common_event_service:cesfwk_innerkits",
47  "ffrt:libffrt",
48  "hilog:libhilog",
49  "input:libmmi-client",
50  "ipc:ipc_core",
51  "power_manager:power_ffrt",
52  "safwk:system_ability_fwk",
53  "samgr:samgr_proxy",
54]
55
56if (has_sensors_sensor_part) {
57  deps_ex += [ "sensor:sensor_interface_native" ]
58}
59if (has_hiviewdfx_hisysevent_part) {
60  deps_ex += [ "hisysevent:libhisysevent" ]
61}
62
63##############################systemtest##########################################
64
65ohos_systemtest("ces_system") {
66  module_out_path = module_output_path
67
68  sources = [ "src/ces_system_test.cpp" ]
69
70  configs = [
71    "${powermgr_utils_path}:utils_config",
72    ":module_private_config",
73    "${powermgr_utils_path}:coverage_flags",
74  ]
75
76  deps = [
77    "${powermgr_inner_api}:powermgr_client",
78    "${powermgr_service_path}:powermgr_stub",
79    "${powermgr_service_path}:powermgrservice",
80    "${powermgr_service_path}/native/src/actions:powermgr_actions",
81    "//third_party/googletest:gtest_main",
82  ]
83
84  external_deps = deps_ex
85}
86
87##############################mocksystemtest##########################################
88
89ohos_systemtest("test_power_mgr_mock_system") {
90  module_out_path = module_output_path
91
92  sanitize = {
93    cfi = true
94    cfi_cross_dso = true
95    debug = false
96    blocklist = "../cfi_blocklist.txt"
97  }
98
99  sources = [ "src/power_mgr_mock_system_test.cpp" ]
100
101  configs = [
102    "${powermgr_utils_path}:utils_config",
103    ":module_private_config",
104    "${powermgr_utils_path}:coverage_flags",
105  ]
106
107  deps = [
108    "${powermgr_inner_api}:powermgr_client",
109    "${powermgr_service_path}:powermgr_stub",
110    "${powermgr_service_path}:powermgrservice",
111    "${powermgr_service_path}/native/src/actions:powermgr_actions",
112    "//third_party/googletest:gmock_main",
113    "//third_party/googletest:gtest_main",
114  ]
115
116  external_deps = deps_ex
117}
118
119################################powersavemode################################
120
121ohos_systemtest("test_power_mgr_powersavemode") {
122  module_out_path = module_output_path
123
124  sources = [ "src/power_mgr_powersavemode_test.cpp" ]
125
126  sanitize = {
127    cfi = true
128    cfi_cross_dso = true
129    debug = false
130    blocklist = "../cfi_blocklist.txt"
131  }
132
133  configs = [
134    "${powermgr_utils_path}:utils_config",
135    ":module_private_config",
136    "${powermgr_utils_path}:coverage_flags",
137  ]
138
139  deps = [
140    "${powermgr_inner_api}:powermgr_client",
141    "${powermgr_service_path}:powermgr_stub",
142    "${powermgr_service_path}:powermgrservice",
143    "${powermgr_service_path}/native/src/actions:powermgr_actions",
144    "//third_party/googletest:gmock_main",
145    "//third_party/googletest:gtest_main",
146  ]
147
148  external_deps = deps_ex
149}
150
151################################powermgrsystem################################
152
153ohos_systemtest("test_power_mgr_system") {
154  module_out_path = module_output_path
155
156  resource_config_file =
157      "${powermgr_root_path}/test/systemtest/resources/ohos_test.xml"
158
159  sources = [ "src/power_mgr_system_test.cpp" ]
160
161  configs = [
162    "${powermgr_utils_path}:utils_config",
163    ":module_private_config",
164    "${powermgr_utils_path}:coverage_flags",
165  ]
166
167  deps = [
168    "${powermgr_inner_api}:powermgr_client",
169    "${powermgr_service_path}:powermgr_stub",
170    "${powermgr_service_path}:powermgrservice",
171    "${powermgr_service_path}/native/src/actions:powermgr_actions",
172    "//third_party/googletest:gmock_main",
173    "//third_party/googletest:gtest_main",
174  ]
175
176  external_deps = deps_ex
177}
178
179################################fastshutdown################################
180
181ohos_systemtest("test_power_mgr_shutdown_fast") {
182  module_out_path = module_output_path
183
184  sources = [ "src/power_mgr_shutdown_fast_test.cpp" ]
185
186  sanitize = {
187    cfi = true
188    cfi_cross_dso = true
189    debug = false
190    blocklist = "../cfi_blocklist.txt"
191  }
192
193  configs = [
194    "${powermgr_utils_path}:utils_config",
195    ":module_private_config",
196    "${powermgr_utils_path}:coverage_flags",
197  ]
198
199  deps = [
200    "${powermgr_inner_api}:powermgr_client",
201    "${powermgr_service_path}:powermgr_stub",
202    "${powermgr_service_path}:powermgrservice",
203    "${powermgr_service_path}/native/src/actions:powermgr_actions",
204    "//third_party/googletest:gmock_main",
205    "//third_party/googletest:gtest_main",
206  ]
207
208  external_deps = deps_ex
209}
210
211################################powerevent################################
212
213ohos_systemtest("test_power_level_event_system_test_off") {
214  module_out_path = module_output_path
215
216  sources = [ "src/power_level_event_system_test_off.cpp" ]
217
218  sanitize = {
219    cfi = true
220    cfi_cross_dso = true
221    debug = false
222    blocklist = "../cfi_blocklist.txt"
223  }
224
225  configs = [
226    "${powermgr_utils_path}:utils_config",
227    ":module_private_config",
228    "${powermgr_utils_path}:coverage_flags",
229  ]
230
231  deps = [
232    "${powermgr_inner_api}:powermgr_client",
233    "${powermgr_service_path}:powermgr_stub",
234    "${powermgr_service_path}:powermgrservice",
235    "${powermgr_service_path}/native/src/actions:powermgr_actions",
236    "//third_party/googletest:gmock_main",
237    "//third_party/googletest:gtest_main",
238  ]
239
240  external_deps = deps_ex
241}
242
243################################powerevent################################
244
245ohos_systemtest("test_power_level_event_system_test_on") {
246  module_out_path = module_output_path
247
248  sources = [ "src/power_level_event_system_test_on.cpp" ]
249
250  sanitize = {
251    cfi = true
252    cfi_cross_dso = true
253    debug = false
254    blocklist = "../cfi_blocklist.txt"
255  }
256
257  configs = [
258    "${powermgr_utils_path}:utils_config",
259    ":module_private_config",
260    "${powermgr_utils_path}:coverage_flags",
261  ]
262
263  deps = [
264    "${powermgr_inner_api}:powermgr_client",
265    "${powermgr_service_path}:powermgr_stub",
266    "${powermgr_service_path}:powermgrservice",
267    "${powermgr_service_path}/native/src/actions:powermgr_actions",
268    "//third_party/googletest:gmock_main",
269    "//third_party/googletest:gtest_main",
270  ]
271
272  external_deps = deps_ex
273}
274
275##############################sttest##########################################
276ohos_systemtest("test_power_st_mgr_mock") {
277  module_out_path = module_output_path
278
279  sanitize = {
280    cfi = true
281    cfi_cross_dso = true
282    debug = false
283    blocklist = "../cfi_blocklist.txt"
284  }
285
286  sources = [ "src/power_mgr_st_mock_test.cpp" ]
287
288  configs = [
289    "${powermgr_utils_path}:utils_config",
290    ":module_private_config",
291    "${powermgr_utils_path}:coverage_flags",
292  ]
293
294  deps = [
295    "${powermgr_inner_api}:powermgr_client",
296    "${powermgr_service_path}:powermgr_stub",
297    "${powermgr_service_path}:powermgrservice",
298    "${powermgr_service_path}/native/src/actions:powermgr_actions",
299    "//third_party/googletest:gmock_main",
300    "//third_party/googletest:gtest_main",
301  ]
302
303  external_deps = deps_ex
304}
305
306##############################suspendsttest##########################################
307ohos_systemtest("test_power_st_mgr_mock_suspend") {
308  module_out_path = module_output_path
309
310  sanitize = {
311    cfi = true
312    cfi_cross_dso = true
313    debug = false
314    blocklist = "../cfi_blocklist.txt"
315  }
316
317  sources = [ "src/power_mgr_st_suspend_test.cpp" ]
318
319  configs = [
320    "${powermgr_utils_path}:utils_config",
321    ":module_private_config",
322    "${powermgr_utils_path}:coverage_flags",
323  ]
324
325  deps = [
326    "${powermgr_inner_api}:powermgr_client",
327    "${powermgr_service_path}:powermgr_stub",
328    "${powermgr_service_path}:powermgrservice",
329    "${powermgr_service_path}/native/src/actions:powermgr_actions",
330    "//third_party/googletest:gtest_main",
331  ]
332
333  external_deps = deps_ex
334}
335
336group("systemtest_powermgr") {
337  testonly = true
338  deps = [
339    ":test_power_level_event_system_test_off",
340    ":test_power_level_event_system_test_on",
341    ":test_power_mgr_mock_system",
342    ":test_power_mgr_powersavemode",
343    ":test_power_mgr_shutdown_fast",
344    ":test_power_mgr_system",
345    ":test_power_st_mgr_mock",
346    ":test_power_st_mgr_mock_suspend",
347  ]
348}
349