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