1# Copyright (c) 2023 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 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 17ohos_unittest("hyper_graphic_manager_test") { 18 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 19 20 cflags = [ 21 "-Wall", 22 "-Werror", 23 "-g3", 24 "-Dprivate=public", 25 "-Dprotected=public", 26 ] 27 28 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 29 if (!use_libfuzzer) { 30 cflags += [ "-flto=thin" ] 31 } 32 if (enhanced_opt) { 33 if (!use_libfuzzer) { 34 cflags += [ "-fwhole-program-vtables" ] 35 } 36 } 37 } 38 39 sources = [ 40 "hgm_app_page_url_strategy_test.cpp", 41 "hgm_command_test.cpp", 42 "hgm_energy_consumption_policy_test.cpp", 43 "hgm_hfbc_config_test.cpp", 44 "hgm_idle_detector_test.cpp", 45 "hgm_lru_cache_test.cpp", 46 "hgm_multi_app_strategy_test.cpp", 47 "hgm_screen_info_test.cpp", 48 "hgm_task_handle_thread_test.cpp", 49 "hgm_vsync_generator_controller_test.cpp", 50 "hgm_xml_parser_test.cpp", 51 "hyper_graphic_manager_test.cpp", 52 "rs_frame_rate_vote_test.cpp", 53 "rs_video_frame_rate_vote_test.cpp", 54 ] 55 56 include_dirs = [ 57 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 58 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 59 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 60 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 61 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 62 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 63 "$graphic_2d_root/rosen/modules/render_service_base/include", 64 "$graphic_2d_root/rosen/modules/render_service_base/src", 65 ] 66 67 deps = [ 68 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 69 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 70 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 71 "$graphic_2d_root/utils/test_header:test_header", 72 ] 73 74 external_deps = [ 75 "c_utils:utils", 76 "eventhandler:libeventhandler", 77 "ffrt:libffrt", 78 "googletest:gmock", 79 "graphic_surface:surface", 80 "hilog:libhilog", 81 "hitrace:hitrace_meter", 82 "init:libbeget_proxy", 83 "init:libbegetutil", 84 "libxml2:libxml2", 85 ] 86 87 part_name = "graphic_2d" 88 subsystem_name = "graphic" 89} 90 91ohos_unittest("frame_rate_manager_test") { 92 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 93 94 cflags = [ 95 "-Wall", 96 "-Werror", 97 "-g3", 98 "-Dprivate=public", 99 "-Dprotected=public", 100 ] 101 102 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 103 if (!use_libfuzzer) { 104 cflags += [ "-flto=thin" ] 105 } 106 if (enhanced_opt) { 107 if (!use_libfuzzer) { 108 cflags += [ "-fwhole-program-vtables" ] 109 } 110 } 111 } 112 113 sources = [ 114 "hgm_frame_rate_manager_test.cpp", 115 "hgm_soft_vsync_manager_test.cpp", 116 "hgm_voter_test.cpp", 117 "hgm_one_shot_timer_test.cpp", 118 ] 119 120 include_dirs = [ 121 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 122 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 123 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 124 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 125 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 126 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 127 "$graphic_2d_root/rosen/modules/render_service_base/include", 128 "$graphic_2d_root/rosen/modules/render_service_base/src", 129 ] 130 131 deps = [ 132 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 133 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 134 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 135 "$graphic_2d_root/utils/test_header:test_header", 136 ] 137 138 external_deps = [ 139 "c_utils:utils", 140 "eventhandler:libeventhandler", 141 "ffrt:libffrt", 142 "graphic_surface:surface", 143 "hilog:libhilog", 144 "hitrace:hitrace_meter", 145 "init:libbeget_proxy", 146 "init:libbegetutil", 147 "libxml2:libxml2", 148 ] 149 150 part_name = "graphic_2d" 151 subsystem_name = "graphic" 152} 153 154ohos_unittest("hgm_pointer_manager_test") { 155 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 156 157 cflags = [ 158 "-Wall", 159 "-Werror", 160 "-g3", 161 "-Dprivate=public", 162 "-Dprotected=public", 163 ] 164 165 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 166 if (!use_libfuzzer) { 167 cflags += [ "-flto=thin" ] 168 } 169 if (enhanced_opt) { 170 if (!use_libfuzzer) { 171 cflags += [ "-fwhole-program-vtables" ] 172 } 173 } 174 } 175 176 sources = [ 177 "hgm_pointer_manager_test.cpp", 178 ] 179 180 include_dirs = [ 181 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 182 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 183 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 184 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 185 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 186 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 187 "$graphic_2d_root/rosen/modules/render_service_base/include", 188 ] 189 190 deps = [ 191 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 192 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 193 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 194 "$graphic_2d_root/utils/test_header:test_header", 195 ] 196 197 external_deps = [ 198 "c_utils:utils", 199 "eventhandler:libeventhandler", 200 "ffrt:libffrt", 201 "graphic_surface:surface", 202 "hilog:libhilog", 203 "hitrace:hitrace_meter", 204 "init:libbeget_proxy", 205 "init:libbegetutil", 206 "libxml2:libxml2", 207 ] 208 209 part_name = "graphic_2d" 210 subsystem_name = "graphic" 211} 212 213ohos_unittest("hgm_touch_manager_test") { 214 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 215 216 cflags = [ 217 "-Wall", 218 "-Werror", 219 "-g3", 220 "-Dprivate=public", 221 "-Dprotected=public", 222 ] 223 224 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 225 if (!use_libfuzzer) { 226 cflags += [ "-flto=thin" ] 227 } 228 if (enhanced_opt) { 229 if (!use_libfuzzer) { 230 cflags += [ "-fwhole-program-vtables" ] 231 } 232 } 233 } 234 235 sources = [ 236 "hgm_touch_manager_test.cpp", 237 ] 238 239 include_dirs = [ 240 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 241 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 242 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 243 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 244 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 245 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 246 "$graphic_2d_root/rosen/modules/render_service_base/include", 247 ] 248 249 deps = [ 250 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 251 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 252 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 253 "$graphic_2d_root/utils/test_header:test_header", 254 ] 255 256 external_deps = [ 257 "c_utils:utils", 258 "eventhandler:libeventhandler", 259 "ffrt:libffrt", 260 "graphic_surface:surface", 261 "hilog:libhilog", 262 "hitrace:hitrace_meter", 263 "init:libbeget_proxy", 264 "init:libbegetutil", 265 "libxml2:libxml2", 266 ] 267 268 part_name = "graphic_2d" 269 subsystem_name = "graphic" 270} 271 272ohos_unittest("hgm_frame_voter_test") { 273 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 274 275 cflags = [ 276 "-Wall", 277 "-Werror", 278 "-g3", 279 "-Dprivate=public", 280 "-Dprotected=public", 281 ] 282 283 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 284 if (!use_libfuzzer) { 285 cflags += [ "-flto=thin" ] 286 } 287 if (enhanced_opt) { 288 if (!use_libfuzzer) { 289 cflags += [ "-fwhole-program-vtables" ] 290 } 291 } 292 } 293 294 sources = [ 295 "hgm_frame_voter_test.cpp", 296 ] 297 298 include_dirs = [ 299 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 300 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 301 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 302 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 303 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 304 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 305 "$graphic_2d_root/rosen/modules/render_service_base/include", 306 "$graphic_2d_root/rosen/modules/render_service_base/src", 307 ] 308 309 deps = [ 310 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 311 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 312 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 313 "$graphic_2d_root/utils/test_header:test_header", 314 ] 315 316 external_deps = [ 317 "c_utils:utils", 318 "eventhandler:libeventhandler", 319 "ffrt:libffrt", 320 "graphic_surface:surface", 321 "hilog:libhilog", 322 "hitrace:hitrace_meter", 323 "init:libbeget_proxy", 324 "init:libbegetutil", 325 "libxml2:libxml2", 326 "samgr:samgr_proxy", 327 ] 328 329 part_name = "graphic_2d" 330 subsystem_name = "graphic" 331} 332 333ohos_unittest("hgm_user_define_test") { 334 module_out_path = "graphic_2d/graphic_2d/hyper_graphic_manager" 335 336 cflags = [ 337 "-Wall", 338 "-Werror", 339 "-g3", 340 "-Dprivate=public", 341 "-Dprotected=public", 342 ] 343 344 if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) { 345 if (!use_libfuzzer) { 346 cflags += [ "-flto=thin" ] 347 } 348 if (enhanced_opt) { 349 if (!use_libfuzzer) { 350 cflags += [ "-fwhole-program-vtables" ] 351 } 352 } 353 } 354 355 sources = [ "hgm_user_define_test.cpp" ] 356 357 include_dirs = [ 358 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config", 359 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/frame_rate_manager", 360 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/hgm_screen_manager", 361 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/soft_vsync_manager", 362 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/utils", 363 "$graphic_2d_root/rosen/modules/hyper_graphic_manager/frame_rate_vote", 364 "$graphic_2d_root/rosen/modules/render_service_base/include", 365 "$graphic_2d_root/rosen/modules/render_service_base/src", 366 "$graphic_2d_root/rosen/test/hyper_graphic_manager/unittest", 367 ] 368 369 if (defined(graphic_2d_hgm_configs.vendor_root)) { 370 include_dirs += graphic_2d_hgm_configs.libhyper_graphic_manager_ext_includes 371 sources += graphic_2d_hgm_configs.libhyper_graphic_manager_ext_test 372 } 373 374 deps = [ 375 "$graphic_2d_root/rosen/modules/hyper_graphic_manager:libhyper_graphic_manager", 376 "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base", 377 "$graphic_2d_root/rosen/modules/render_service_base:render_service_base_src", 378 "$graphic_2d_root/utils/test_header:test_header", 379 ] 380 381 external_deps = [ 382 "c_utils:utils", 383 "eventhandler:libeventhandler", 384 "ffrt:libffrt", 385 "googletest:gmock", 386 "graphic_surface:surface", 387 "hilog:libhilog", 388 "hitrace:hitrace_meter", 389 "init:libbeget_proxy", 390 "init:libbegetutil", 391 "libxml2:libxml2", 392 "samgr:samgr_proxy", 393 ] 394 395 part_name = "graphic_2d" 396 subsystem_name = "graphic" 397} 398 399group("unittest") { 400 testonly = true 401 402 deps = [ 403 ":frame_rate_manager_test", 404 ":hgm_frame_voter_test", 405 ":hgm_pointer_manager_test", 406 ":hgm_touch_manager_test", 407 ":hgm_user_define_test" 408 ] 409} 410