1# Copyright (c) 2024 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_surface/graphic_surface_config.gni")
16
17if (graphic_2d_ext_delegator && graphic_2d_ext_delegator_gni != "") {
18  import("${graphic_2d_ext_delegator_gni}")
19}
20
21module_out_path = "graphic_surface/surface"
22
23group("unittest") {
24  testonly = true
25
26  deps = [
27    ":buffer_client_producer_remote_test",
28    ":buffer_queue_consumer_test",
29    ":buffer_queue_producer_remote_test",
30    ":buffer_queue_producer_test",
31    ":buffer_queue_test",
32    ":buffer_shared_test",
33    ":buffer_utils_test",
34    ":consumer_surface_delegator_test",
35    ":consumer_surface_test",
36    ":metadata_helper_test",
37    ":native_buffer_test",
38    ":native_window_test",
39    ":producer_surface_delegator_test",
40    ":producer_surface_test",
41    ":surface_buffer_impl_test",
42    ":surface_utils_test",
43    ":transact_surface_delegator_stub_test",
44  ]
45}
46
47## UnitTest producer_surface_delegator_test {{{
48ohos_unittest("producer_surface_delegator_test") {
49  module_out_path = module_out_path
50
51  sources = []
52  if (graphic_2d_ext_delegator &&
53      defined(libsurface_ext_test_producer_delegator_src)) {
54    sources += libsurface_ext_test_producer_delegator_src
55  } else {
56    sources += [ "producer_surface_delegator_test.cpp" ]
57  }
58
59  deps = [ ":surface_test_common" ]
60  external_deps = [ "bounds_checking_function:libsec_shared" ]
61}
62
63## UnitTest producer_surface_delegator_test }}}
64
65## UnitTest consumer_surface_delegator_test {{{
66ohos_unittest("consumer_surface_delegator_test") {
67  module_out_path = module_out_path
68
69  sources = []
70  if (graphic_2d_ext_delegator &&
71      defined(libsurface_ext_test_consumer_delegator_src)) {
72    sources += libsurface_ext_test_consumer_delegator_src
73  } else {
74    sources += [ "consumer_surface_delegator_test.cpp" ]
75  }
76
77  deps = [ ":surface_test_common" ]
78  external_deps = [ "bounds_checking_function:libsec_shared" ]
79}
80
81## UnitTest consumer_surface_delegator_test }}}
82
83## UnitTest transact_surface_delegator_stub_test {{{
84ohos_unittest("transact_surface_delegator_stub_test") {
85  module_out_path = module_out_path
86
87  sources = []
88  if (graphic_2d_ext_delegator &&
89      defined(libsurface_ext_test_transact_delegator_src)) {
90    sources += libsurface_ext_test_transact_delegator_src
91  } else {
92    sources += [ "transact_surface_delegator_stub_test.cpp" ]
93  }
94
95  deps = [ ":surface_test_common" ]
96  external_deps = [ "bounds_checking_function:libsec_shared" ]
97}
98
99## UnitTest transact_surface_delegator_stub_test }}}
100
101## UnitTest buffer_client_producer_remote_test {{{
102ohos_unittest("buffer_client_producer_remote_test") {
103  module_out_path = module_out_path
104
105  sources = [ "buffer_client_producer_remote_test.cpp" ]
106
107  deps = [ ":surface_test_common" ]
108}
109
110## UnitTest buffer_client_producer_remote_test }}}
111
112## UnitTest buffer_queue_consumer_test {{{
113ohos_unittest("buffer_queue_consumer_test") {
114  module_out_path = module_out_path
115
116  sources = [ "buffer_queue_consumer_test.cpp" ]
117
118  deps = [ ":surface_test_common" ]
119}
120
121## UnitTest buffer_queue_consumer_test }}}
122
123## UnitTest buffer_queue_producer_remote_test {{{
124ohos_unittest("buffer_queue_producer_remote_test") {
125  module_out_path = module_out_path
126
127  sources = [ "buffer_queue_producer_remote_test.cpp" ]
128
129  deps = [ ":surface_test_common" ]
130}
131
132## UnitTest buffer_queue_producer_remote_test }}}
133
134## UnitTest buffer_queue_producer_test {{{
135ohos_unittest("buffer_queue_producer_test") {
136  module_out_path = module_out_path
137
138  sources = [ "buffer_queue_producer_test.cpp" ]
139
140  deps = [ ":surface_test_common" ]
141}
142
143## UnitTest buffer_queue_producer_test }}}
144
145## UnitTest buffer_queue_test {{{
146ohos_unittest("buffer_queue_test") {
147  module_out_path = module_out_path
148
149  sources = [ "buffer_queue_test.cpp" ]
150
151  deps = [ ":surface_test_common" ]
152}
153
154## UnitTest buffer_queue_test }}}
155
156## UnitTest buffer_shared_test {{{
157ohos_unittest("buffer_shared_test") {
158  module_out_path = module_out_path
159
160  sources = [ "buffer_shared_test.cpp" ]
161
162  deps = [ ":surface_test_common" ]
163}
164
165## UnitTest buffer_shared_test }}}
166
167## UnitTest consumer_surface_test {{{
168ohos_unittest("consumer_surface_test") {
169  module_out_path = module_out_path
170
171  sources = [ "consumer_surface_test.cpp" ]
172
173  deps = [ ":surface_test_common" ]
174
175  external_deps = [
176    "bounds_checking_function:libsec_shared",
177    "drivers_interface_display:display_commontype_idl_headers_1.1",
178  ]
179}
180
181## UnitTest consumer_surface_test }}}
182
183## UnitTest producer_surface_test {{{
184ohos_unittest("producer_surface_test") {
185  module_out_path = module_out_path
186
187  sources = [ "producer_surface_test.cpp" ]
188
189  deps = [ ":surface_test_common" ]
190  external_deps = [ "bounds_checking_function:libsec_shared" ]
191}
192
193## UnitTest producer_surface_test }}}
194
195## UnitTest surface_buffer_impl_test {{{
196ohos_unittest("surface_buffer_impl_test") {
197  module_out_path = module_out_path
198
199  sources = [ "surface_buffer_impl_test.cpp" ]
200
201  deps = [ ":surface_test_common" ]
202
203  external_deps = [
204    "bounds_checking_function:libsec_shared",
205    "drivers_interface_display:display_commontype_idl_headers_1.1",
206  ]
207}
208
209## UnitTest surface_buffer_impl_test }}}
210
211## UnitTest surface_utils_test {{{
212ohos_unittest("surface_utils_test") {
213  module_out_path = module_out_path
214
215  sources = [ "surface_utils_test.cpp" ]
216
217  deps = [ ":surface_test_common" ]
218  external_deps = [ "bounds_checking_function:libsec_shared" ]
219}
220
221## UnitTest surface_utils_test }}}
222
223## UnitTest native_window_test {{{
224ohos_unittest("native_window_test") {
225  module_out_path = module_out_path
226
227  sources = [ "native_window_test.cpp" ]
228  external_deps = [
229    "bounds_checking_function:libsec_shared",
230    "ipc:ipc_capi",
231  ]
232
233  deps = [ ":surface_test_common" ]
234}
235
236## UnitTest native_window_test }}}
237
238## UnitTest metadata_helper_test {{{
239ohos_unittest("metadata_helper_test") {
240  module_out_path = module_out_path
241
242  sources = [ "metadata_helper_test.cpp" ]
243
244  deps = [ ":surface_test_common" ]
245
246  external_deps = [
247    "c_utils:utils",
248    "drivers_interface_display:display_commontype_idl_headers",
249    "hilog:libhilog",
250  ]
251}
252
253## UnitTest metadata_helper_test }}}
254
255## UnitTest native_buffer_test {{{
256ohos_unittest("native_buffer_test") {
257  module_out_path = module_out_path
258
259  sources = [ "native_buffer_test.cpp" ]
260
261  deps = [ ":surface_test_common" ]
262
263  external_deps = [
264    "c_utils:utils",
265    "hilog:libhilog",
266  ]
267}
268
269## UnitTest native_buffer_test }}}
270
271## UnitTest buffer_utils_test {{{
272ohos_unittest("buffer_utils_test") {
273  module_out_path = module_out_path
274
275  sources = [ "buffer_utils_test.cpp" ]
276
277  deps = [ ":surface_test_common" ]
278}
279
280## UnitTest buffer_utils_test }}}
281
282## Build surface_test_common.a {{{
283config("surface_test_common_public_config") {
284  include_dirs = [ "../../include" ]
285
286  cflags = [
287    "-Wall",
288    "-Werror",
289    "-g3",
290    "-Dprivate=public",
291    "-Dprotected=public",
292  ]
293}
294
295ohos_static_library("surface_test_common") {
296  visibility = [ ":*" ]
297  testonly = true
298
299  public_configs = [ ":surface_test_common_public_config" ]
300
301  public_deps = [
302    "$graphic_surface_root/buffer_handle:buffer_handle",
303    "$graphic_surface_root/surface:surface",
304    "$graphic_surface_root/sync_fence:sync_fence",
305    "$graphic_surface_root/test_header:test_header",
306  ]
307
308  public_external_deps = [
309    "access_token:libaccesstoken_sdk",
310    "access_token:libnativetoken",
311    "access_token:libtoken_setproc",
312    "c_utils:utils",
313    "hilog:libhilog",
314    "ipc:ipc_single",
315    "samgr:samgr_proxy",
316  ]
317
318  subsystem_name = "graphic"
319  part_name = "graphic_surface"
320}
321## Build surface_test_common.a }}}
322