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 = [
191    "bounds_checking_function:libsec_shared",
192    "drivers_interface_display:display_commontype_idl_headers_1.1",
193  ]
194}
195
196## UnitTest producer_surface_test }}}
197
198## UnitTest surface_buffer_impl_test {{{
199ohos_unittest("surface_buffer_impl_test") {
200  module_out_path = module_out_path
201
202  sources = [ "surface_buffer_impl_test.cpp" ]
203
204  deps = [ ":surface_test_common" ]
205
206  external_deps = [
207    "bounds_checking_function:libsec_shared",
208    "drivers_interface_display:display_commontype_idl_headers_1.1",
209  ]
210}
211
212## UnitTest surface_buffer_impl_test }}}
213
214## UnitTest surface_utils_test {{{
215ohos_unittest("surface_utils_test") {
216  module_out_path = module_out_path
217
218  sources = [ "surface_utils_test.cpp" ]
219
220  deps = [ ":surface_test_common" ]
221  external_deps = [ "bounds_checking_function:libsec_shared" ]
222}
223
224## UnitTest surface_utils_test }}}
225
226## UnitTest native_window_test {{{
227ohos_unittest("native_window_test") {
228  module_out_path = module_out_path
229
230  sources = [ "native_window_test.cpp" ]
231  external_deps = [
232    "bounds_checking_function:libsec_shared",
233    "ipc:ipc_capi",
234  ]
235
236  deps = [ ":surface_test_common" ]
237}
238
239## UnitTest native_window_test }}}
240
241## UnitTest metadata_helper_test {{{
242ohos_unittest("metadata_helper_test") {
243  module_out_path = module_out_path
244
245  sources = [ "metadata_helper_test.cpp" ]
246
247  deps = [ ":surface_test_common" ]
248
249  external_deps = [
250    "c_utils:utils",
251    "drivers_interface_display:display_commontype_idl_headers",
252    "hilog:libhilog",
253  ]
254}
255
256## UnitTest metadata_helper_test }}}
257
258## UnitTest native_buffer_test {{{
259ohos_unittest("native_buffer_test") {
260  module_out_path = module_out_path
261
262  sources = [ "native_buffer_test.cpp" ]
263
264  deps = [ ":surface_test_common" ]
265
266  external_deps = [
267    "c_utils:utils",
268    "hilog:libhilog",
269  ]
270}
271
272## UnitTest native_buffer_test }}}
273
274## UnitTest buffer_utils_test {{{
275ohos_unittest("buffer_utils_test") {
276  module_out_path = module_out_path
277
278  sources = [ "buffer_utils_test.cpp" ]
279
280  deps = [ ":surface_test_common" ]
281}
282
283## UnitTest buffer_utils_test }}}
284
285## Build surface_test_common.a {{{
286config("surface_test_common_public_config") {
287  include_dirs = [
288    ".",
289    "../../include",
290  ]
291
292  cflags = [
293    "-Wall",
294    "-Werror",
295    "-g3",
296    "-Dprivate=public",
297    "-Dprotected=public",
298  ]
299}
300
301ohos_static_library("surface_test_common") {
302  visibility = [ ":*" ]
303  testonly = true
304
305  public_configs = [ ":surface_test_common_public_config" ]
306
307  public_deps = [
308    "$graphic_surface_root/buffer_handle:buffer_handle",
309    "$graphic_surface_root/surface:surface",
310    "$graphic_surface_root/sync_fence:sync_fence",
311    "$graphic_surface_root/test_header:test_header",
312  ]
313
314  public_external_deps = [
315    "access_token:libaccesstoken_sdk",
316    "access_token:libnativetoken",
317    "access_token:libtoken_setproc",
318    "hilog:libhilog",
319    "samgr:samgr_proxy",
320  ]
321
322  subsystem_name = "graphic"
323  part_name = "graphic_surface"
324}
325## Build surface_test_common.a }}}
326