1# Copyright (c) 2021 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("//foundation/graphic/graphic_2d/graphic_config.gni")
16
17module_out_path = "graphic_2d/composer"
18
19group("unittest") {
20  testonly = true
21
22  deps = [
23    ":hdibackend_unit_test",
24    ":hdiframebuffersurface_unit_test",
25    ":hdilayer_unit_test",
26    ":hdilayerinfo_unit_test",
27    ":hdioutput_unit_test",
28    ":hdiscreen_unit_test",
29  ]
30}
31
32## UnitTest hdibackend_unit_test {{{
33ohos_unittest("hdibackend_unit_test") {
34  module_out_path = module_out_path
35
36  sources = [
37    "hdibackend_test.cpp",
38    "mock_hdi_device.cpp",
39  ]
40
41  deps = [ ":hdibackend_test_common" ]
42}
43
44## UnitTest hdibackend_unit_test }}}
45
46## UnitTest hdiframebuffersurface_unit_test {{{
47ohos_unittest("hdiframebuffersurface_unit_test") {
48  module_out_path = module_out_path
49
50  sources = [ "hdiframebuffersurface_test.cpp" ]
51
52  deps = [ ":hdibackend_test_common" ]
53}
54
55## UnitTest hdiframebuffersurface_unit_test }}}
56
57## UnitTest hdilayer_unit_test {{{
58ohos_unittest("hdilayer_unit_test") {
59  module_out_path = module_out_path
60
61  sources = [
62    "hdilayer_test.cpp",
63    "mock_hdi_device.cpp",
64  ]
65
66  deps = [ ":hdibackend_test_common" ]
67}
68
69## UnitTest hdilayer_unit_test }}}
70
71## UnitTest hdilayerinfo_unit_test {{{
72ohos_unittest("hdilayerinfo_unit_test") {
73  module_out_path = module_out_path
74
75  sources = [ "hdilayerinfo_test.cpp" ]
76
77  deps = [ ":hdibackend_test_common" ]
78}
79
80## UnitTest hdilayerinfo_unit_test }}}
81
82## UnitTest hdioutput_unit_test {{{
83ohos_unittest("hdioutput_unit_test") {
84  module_out_path = module_out_path
85
86  sources = [
87    "hdioutput_test.cpp",
88    "mock_hdi_device.cpp",
89  ]
90
91  deps = [
92    ":hdibackend_test_common",
93    "../../../vsync:libvsync",
94  ]
95}
96
97## UnitTest hdioutput_unit_test }}}
98
99## UnitTest hdiscreen_unit_test {{{
100ohos_unittest("hdiscreen_unit_test") {
101  module_out_path = module_out_path
102
103  sources = [
104    "hdiscreen_test.cpp",
105    "mock_hdi_device.cpp",
106  ]
107
108  deps = [ ":hdibackend_test_common" ]
109}
110
111## UnitTest hdiscreen_unit_test }}}
112
113## UnitTest hdidevice_unit_test {{{
114ohos_unittest("hdidevice_unit_test") {
115  module_out_path = module_out_path
116
117  sources = [ "hdidevice_test.cpp" ]
118
119  deps = [ ":hdibackend_test_common" ]
120}
121
122## UnitTest hdidevice_unit_test }}}
123
124## Build hdibackend_test_common.a {{{
125config("hdibackend_test_common_public_config") {
126  include_dirs = [
127    "//foundation/graphic/graphic_2d/rosen/modules/composer/hdi_backend/include",
128    "//foundation/graphic/graphic_2d/rosen/modules/composer/hdi_backend/test",
129  ]
130
131  cflags = [
132    "-Wall",
133    "-Werror",
134    "-g3",
135    "-Dprivate=public",
136    "-Dprotected=public",
137  ]
138}
139
140ohos_static_library("hdibackend_test_common") {
141  visibility = [ ":*" ]
142  testonly = true
143
144  public_configs = [ ":hdibackend_test_common_public_config" ]
145
146  public_deps = [
147    "//foundation/graphic/graphic_2d/rosen/modules/composer:libcomposer",
148    "//third_party/googletest:gmock_main",
149    "//third_party/googletest:gtest_main",
150  ]
151
152  public_external_deps = [
153    "c_utils:utils",
154    "graphic_surface:surface",
155    "hilog:libhilog",
156    "ipc:ipc_core",
157  ]
158}
159## Build hdibackend_test_common.a }}}
160