1# Copyright (c) 2021-2022 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    "${powermgr_service_path}/native/src/actions/",
25    "${powermgr_service_path}/native/src/actions/default",
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    "${powermgr_root_path}/test/unittest/include",
33    "${powermgr_root_path}/test/unittest/include/servicetest",
34    "${powermgr_root_path}/test/unittest/include/servicetest/mock",
35    "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include/",
36  ]
37
38  if (power_manager_feature_wakeup_action) {
39    include_dirs += [ "${powermgr_service_path}/native/src/wakeup_action" ]
40  }
41}
42
43config("module_mock_private_config") {
44  include_dirs = [
45    "${powermgr_root_path}/test/unittest/include/mock",
46    "${powermgr_root_path}/test/unittest/mock",
47    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include/",
48    "//commonlibrary/c_utils/base/include/",
49    "${powermgr_service_zidl}/include",
50  ]
51}
52
53deps_ex = [
54  "ability_base:base",
55  "ability_base:want",
56  "ability_runtime:ability_manager",
57  "c_utils:utils",
58  "common_event_service:cesfwk_innerkits",
59  "ffrt:libffrt",
60  "hilog:libhilog",
61  "ipc:ipc_core",
62  "power_manager:power_ffrt",
63  "safwk:system_ability_fwk",
64  "samgr:samgr_proxy",
65]
66
67if (has_sensors_sensor_part) {
68  deps_ex += [ "sensor:sensor_interface_native" ]
69}
70
71##############################native_test##########################################
72ohos_unittest("powermgr_native_test") {
73  module_out_path = module_output_path
74
75  sources = [
76    "powermgr_service_native_test.cpp",
77    "powermgr_service_test_proxy.cpp",
78  ]
79
80  configs = [
81    "${powermgr_utils_path}:utils_config",
82    ":module_private_config",
83    "${powermgr_utils_path}:coverage_flags",
84  ]
85
86  deps = [
87    "${powermgr_inner_api}:powermgr_client",
88    "${powermgr_service_path}:powermgr_stub",
89    "${powermgr_service_path}:powermgrservice",
90    "//third_party/googletest:gtest_main",
91  ]
92
93  external_deps = [ "image_framework:image_native" ]
94  external_deps += deps_ex
95}
96
97##############################native_mock_parcel_test##########################################
98ohos_unittest("powermgr_native_mock_parcel_test") {
99  module_out_path = module_output_path
100
101  sources = [
102    "${powermgr_root_path}/test/unittest/mock/mock_message_parcel.cpp",
103    "${powermgr_root_path}/test/unittest/mock/mock_parcel.cpp",
104    "mock/powermgr_service_mock_parcel_test.cpp",
105    "powermgr_service_test_proxy.cpp",
106  ]
107
108  configs = [
109    "${powermgr_utils_path}:utils_config",
110    ":module_private_config",
111    ":module_mock_private_config",
112    "${powermgr_utils_path}:coverage_flags",
113  ]
114
115  defines = [ "MOCK_WRITE_INTERFACE_TOKEN_RETURN_TRUE" ]
116
117  deps = [
118    "${powermgr_inner_api}:powermgr_client",
119    "${powermgr_service_path}:powermgr_stub",
120    "${powermgr_service_path}:powermgrservice",
121    "//third_party/googletest:gtest_main",
122  ]
123
124  external_deps = deps_ex
125}
126
127group("unittest") {
128  testonly = true
129  deps = [
130    ":powermgr_native_mock_parcel_test",
131    ":powermgr_native_test",
132  ]
133}
134