1fa7767c5Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2fa7767c5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fa7767c5Sopenharmony_ci# you may not use this file except in compliance with the License.
4fa7767c5Sopenharmony_ci# You may obtain a copy of the License at
5fa7767c5Sopenharmony_ci#
6fa7767c5Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fa7767c5Sopenharmony_ci#
8fa7767c5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fa7767c5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fa7767c5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fa7767c5Sopenharmony_ci# See the License for the specific language governing permissions and
12fa7767c5Sopenharmony_ci# limitations under the License.
13fa7767c5Sopenharmony_ci
14fa7767c5Sopenharmony_ciimport("//build/test.gni")
15fa7767c5Sopenharmony_ciimport("//foundation/multimedia/media_foundation/config.gni")
16fa7767c5Sopenharmony_ci
17fa7767c5Sopenharmony_cimodule_output_path = "media_foundation/unittest"
18fa7767c5Sopenharmony_ci
19fa7767c5Sopenharmony_cigroup("avbuffer_unit_test") {
20fa7767c5Sopenharmony_ci  testonly = true
21fa7767c5Sopenharmony_ci  deps = [
22fa7767c5Sopenharmony_ci    ":avbuffer_capi_unit_test",
23fa7767c5Sopenharmony_ci    ":avbuffer_inner_unit_test",
24fa7767c5Sopenharmony_ci    ":avsharedmemorybase_func_unit_test",
25fa7767c5Sopenharmony_ci  ]
26fa7767c5Sopenharmony_ci}
27fa7767c5Sopenharmony_ci
28fa7767c5Sopenharmony_ciavbuffer_unittest_cflags = [
29fa7767c5Sopenharmony_ci  "-std=c++17",
30fa7767c5Sopenharmony_ci  "-fno-rtti",
31fa7767c5Sopenharmony_ci  "-fexceptions",
32fa7767c5Sopenharmony_ci  "-Wall",
33fa7767c5Sopenharmony_ci  "-fno-common",
34fa7767c5Sopenharmony_ci  "-fstack-protector-strong",
35fa7767c5Sopenharmony_ci  "-Wshadow",
36fa7767c5Sopenharmony_ci  "-FPIC",
37fa7767c5Sopenharmony_ci  "-FS",
38fa7767c5Sopenharmony_ci  "-O2",
39fa7767c5Sopenharmony_ci  "-D_FORTIFY_SOURCE=2",
40fa7767c5Sopenharmony_ci  "-fvisibility=hidden",
41fa7767c5Sopenharmony_ci  "-Wformat=2",
42fa7767c5Sopenharmony_ci  "-Wdate-time",
43fa7767c5Sopenharmony_ci  "-Wextra",
44fa7767c5Sopenharmony_ci  "-Wimplicit-fallthrough",
45fa7767c5Sopenharmony_ci  "-Wsign-compare",
46fa7767c5Sopenharmony_ci  "-Dprivate=public",
47fa7767c5Sopenharmony_ci  "-Dprotected=public",
48fa7767c5Sopenharmony_ci]
49fa7767c5Sopenharmony_ci
50fa7767c5Sopenharmony_ci#################################################################################################################videodec
51fa7767c5Sopenharmony_ciohos_unittest("avbuffer_inner_unit_test") {
52fa7767c5Sopenharmony_ci  module_out_path = module_output_path
53fa7767c5Sopenharmony_ci  include_dirs = [
54fa7767c5Sopenharmony_ci    "./",
55fa7767c5Sopenharmony_ci    "./inner",
56fa7767c5Sopenharmony_ci  ]
57fa7767c5Sopenharmony_ci
58fa7767c5Sopenharmony_ci  defines = [
59fa7767c5Sopenharmony_ci    "HST_ANY_WITH_NO_RTTI",
60fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
61fa7767c5Sopenharmony_ci  ]
62fa7767c5Sopenharmony_ci
63fa7767c5Sopenharmony_ci  sources = [
64fa7767c5Sopenharmony_ci    "./avbuffer_framework_unit_test.cpp",
65fa7767c5Sopenharmony_ci    "./avbuffer_func_unit_test.cpp",
66fa7767c5Sopenharmony_ci    "./avbuffer_unit_test.cpp",
67fa7767c5Sopenharmony_ci  ]
68fa7767c5Sopenharmony_ci
69fa7767c5Sopenharmony_ci  cflags = avbuffer_unittest_cflags
70fa7767c5Sopenharmony_ci
71fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_inner_unit_test" ]
72fa7767c5Sopenharmony_ci
73fa7767c5Sopenharmony_ci  external_deps = [
74fa7767c5Sopenharmony_ci    "c_utils:utils",
75fa7767c5Sopenharmony_ci    "graphic_surface:surface",
76fa7767c5Sopenharmony_ci    "graphic_surface:sync_fence",
77fa7767c5Sopenharmony_ci    "hilog:libhilog",
78fa7767c5Sopenharmony_ci    "ipc:ipc_core",
79fa7767c5Sopenharmony_ci    "memory_utils:libdmabufheap",
80fa7767c5Sopenharmony_ci  ]
81fa7767c5Sopenharmony_ci}
82fa7767c5Sopenharmony_ci
83fa7767c5Sopenharmony_ci#################################################################################################################videodec
84fa7767c5Sopenharmony_ciohos_unittest("avbuffer_capi_unit_test") {
85fa7767c5Sopenharmony_ci  module_out_path = module_output_path
86fa7767c5Sopenharmony_ci  include_dirs = [
87fa7767c5Sopenharmony_ci    "./",
88fa7767c5Sopenharmony_ci    "./capi",
89fa7767c5Sopenharmony_ci    "$histreamer_root_dir/interface/kits/c",
90fa7767c5Sopenharmony_ci  ]
91fa7767c5Sopenharmony_ci
92fa7767c5Sopenharmony_ci  defines = [
93fa7767c5Sopenharmony_ci    "AVBUFFER_CAPI_UNIT_TEST",
94fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
95fa7767c5Sopenharmony_ci  ]
96fa7767c5Sopenharmony_ci
97fa7767c5Sopenharmony_ci  sources = [
98fa7767c5Sopenharmony_ci    "./avbuffer_framework_unit_test.cpp",
99fa7767c5Sopenharmony_ci    "./avbuffer_unit_test.cpp",
100fa7767c5Sopenharmony_ci  ]
101fa7767c5Sopenharmony_ci
102fa7767c5Sopenharmony_ci  cflags = avbuffer_unittest_cflags
103fa7767c5Sopenharmony_ci
104fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_capi_unit_test" ]
105fa7767c5Sopenharmony_ci
106fa7767c5Sopenharmony_ci  external_deps = [
107fa7767c5Sopenharmony_ci    "c_utils:utils",
108fa7767c5Sopenharmony_ci    "graphic_surface:surface",
109fa7767c5Sopenharmony_ci    "graphic_surface:sync_fence",
110fa7767c5Sopenharmony_ci    "hilog:libhilog",
111fa7767c5Sopenharmony_ci    "ipc:ipc_core",
112fa7767c5Sopenharmony_ci    "memory_utils:libdmabufheap",
113fa7767c5Sopenharmony_ci  ]
114fa7767c5Sopenharmony_ci}
115fa7767c5Sopenharmony_ci
116fa7767c5Sopenharmony_ci#################################################################################################################videodec
117fa7767c5Sopenharmony_ciohos_unittest("avsharedmemorybase_func_unit_test") {
118fa7767c5Sopenharmony_ci  module_out_path = module_output_path
119fa7767c5Sopenharmony_ci  include_dirs = [
120fa7767c5Sopenharmony_ci    "./",
121fa7767c5Sopenharmony_ci    "./inner",
122fa7767c5Sopenharmony_ci    "../../../interface/inner_api",
123fa7767c5Sopenharmony_ci  ]
124fa7767c5Sopenharmony_ci
125fa7767c5Sopenharmony_ci  sanitize = {
126fa7767c5Sopenharmony_ci    cfi = true
127fa7767c5Sopenharmony_ci    cfi_cross_dso = true
128fa7767c5Sopenharmony_ci    debug = false
129fa7767c5Sopenharmony_ci  }
130fa7767c5Sopenharmony_ci
131fa7767c5Sopenharmony_ci  defines = [
132fa7767c5Sopenharmony_ci    "AVSHAREDMEMORYBASE_FUNC_UNIT_TEST",
133fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
134fa7767c5Sopenharmony_ci  ]
135fa7767c5Sopenharmony_ci
136fa7767c5Sopenharmony_ci  sources = [ "./avsharedmemorybase_func_unit_test.cpp" ]
137fa7767c5Sopenharmony_ci
138fa7767c5Sopenharmony_ci  cflags = avbuffer_unittest_cflags
139fa7767c5Sopenharmony_ci
140fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_capi_unit_test" ]
141fa7767c5Sopenharmony_ci
142fa7767c5Sopenharmony_ci  external_deps = [
143fa7767c5Sopenharmony_ci    "c_utils:utils",
144fa7767c5Sopenharmony_ci    "graphic_surface:surface",
145fa7767c5Sopenharmony_ci    "graphic_surface:sync_fence",
146fa7767c5Sopenharmony_ci    "hilog:libhilog",
147fa7767c5Sopenharmony_ci    "ipc:ipc_core",
148fa7767c5Sopenharmony_ci    "memory_utils:libdmabufheap",
149fa7767c5Sopenharmony_ci  ]
150fa7767c5Sopenharmony_ci}
151