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