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# 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/multimedia/av_codec/config.gni") 16 17module_output_path = "av_codec/unittest" 18 19vcodec_unittest_cflags = [ 20 "-std=c++17", 21 "-fno-rtti", 22 "-fno-exceptions", 23 "-Wall", 24 "-fno-common", 25 "-fstack-protector-strong", 26 "-Wshadow", 27 "-FPIC", 28 "-FS", 29 "-O2", 30 "-D_FORTIFY_SOURCE=2", 31 "-fvisibility=hidden", 32 "-Wformat=2", 33 "-Wdate-time", 34 "-Werror", 35 "-Wextra", 36 "-Wimplicit-fallthrough", 37 "-Wsign-compare", 38 "-Wunused-parameter", 39] 40 41#################################################################################################################videodec 42ohos_unittest("videodec_capi_unit_test") { 43 module_out_path = module_output_path 44 include_dirs = [ 45 "./", 46 "./capi", 47 "$av_codec_root_dir/../../graphic/graphic_2d/frameworks/surface/include", 48 "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api", 49 "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits/wm", 50 "$av_codec_root_dir/interfaces/inner_api/native", 51 "$av_codec_root_dir/interfaces/kits/c", 52 "$av_codec_root_dir/test/unittest/codeclist_test", 53 "$av_codec_root_dir/test/unittest/codeclist_test/capi", 54 "$av_codec_root_dir/test/unittest/common", 55 "$av_codec_root_dir/test/unittest/common/common_mock", 56 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi", 57 "$av_codec_root_dir/test/unittest/common/common_mock/surface/capi", 58 "$av_codec_root_dir/test/unittest/format_test", 59 "$av_codec_root_dir/test/unittest/format_test/capi", 60 "$av_codec_root_dir/test/unittest/vcodec_test", 61 "$av_codec_root_dir/test/unittest/vcodec_test/capi", 62 "$av_codec_root_dir/test/unittest/vcodec_test/sample", 63 ] 64 65 cflags = vcodec_unittest_cflags 66 67 if (av_codec_support_codec) { 68 sources = [ 69 "$av_codec_root_dir/test/unittest/codeclist_test/capi/codeclist_capi_mock.cpp", 70 "$av_codec_root_dir/test/unittest/codeclist_test/capi/codeclist_capi_mock_factory.cpp", 71 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi/avmemory_capi_mock.cpp", 72 "$av_codec_root_dir/test/unittest/common/common_mock/surface/capi/surface_capi_mock.cpp", 73 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock.cpp", 74 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock_factory.cpp", 75 "./capi/vcodec_capi_mock_factory.cpp", 76 "./capi/videodec_capi_mock.cpp", 77 "./sample/vdec_sample.cpp", 78 "./videodec_unit_test.cpp", 79 ] 80 } 81 deps = [ 82 "$av_codec_root_dir/interfaces/inner_api/native:av_codec_client", 83 "$av_codec_root_dir/interfaces/kits/c:native_media_core", 84 "$av_codec_root_dir/interfaces/kits/c:native_media_vdec", 85 ] 86 external_deps = [ 87 "av_codec:av_codec_client", 88 "c_utils:utils", 89 "graphic_2d:libgraphic_utils", 90 "graphic_2d:librender_service_client", 91 "graphic_2d:surface", 92 "graphic_2d:sync_fence", 93 "hilog:libhilog", 94 "ipc:ipc_core", 95 "window_manager:libwm", 96 ] 97 98 resource_config_file = 99 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 100} 101 102#################################################################################################################videodec 103ohos_unittest("videodec_inner_unit_test") { 104 module_out_path = module_output_path 105 include_dirs = [ 106 "./", 107 "./vcodec_test", 108 "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api", 109 "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits", 110 "$av_codec_root_dir/interfaces/inner_api/inner", 111 "$av_codec_root_dir/interfaces/kits/c", 112 "$av_codec_root_dir/test/unittest/codeclist_test/", 113 "$av_codec_root_dir/test/unittest/codeclist_test/inner", 114 "$av_codec_root_dir/test/unittest/common", 115 "$av_codec_root_dir/test/unittest/common/common_mock", 116 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner", 117 "$av_codec_root_dir/test/unittest/common/common_mock/surface/inner", 118 "$av_codec_root_dir/test/unittest/format_test", 119 "$av_codec_root_dir/test/unittest/format_test/inner", 120 "$av_codec_root_dir/test/unittest/vcodec_test", 121 "$av_codec_root_dir/test/unittest/vcodec_test/inner", 122 "$av_codec_root_dir/test/unittest/vcodec_test/sample", 123 ] 124 125 cflags = vcodec_unittest_cflags 126 127 if (av_codec_support_codec) { 128 sources = [ 129 "$av_codec_root_dir/test/unittest/codeclist_test/inner/codeclist_inner_mock.cpp", 130 "$av_codec_root_dir/test/unittest/codeclist_test/inner/codeclist_inner_mock_factory.cpp", 131 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner/avmemory_inner_mock.cpp", 132 "$av_codec_root_dir/test/unittest/common/common_mock/surface/inner/surface_inner_mock.cpp", 133 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock.cpp", 134 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock_factory.cpp", 135 "./inner/vcodec_inner_mock_factory.cpp", 136 "./inner/videodec_inner_mock.cpp", 137 "./sample/vdec_sample.cpp", 138 "./videodec_unit_test.cpp", 139 ] 140 } 141 deps = [ "$av_codec_root_dir/interfaces/inner_api/native:av_codec_client" ] 142 external_deps = [ 143 "av_codec:av_codec_client", 144 "c_utils:utils", 145 "graphic_2d:libgraphic_utils", 146 "graphic_2d:librender_service_client", 147 "graphic_2d:surface", 148 "graphic_2d:sync_fence", 149 "hilog:libhilog", 150 "ipc:ipc_core", 151 "window_manager:libwm", 152 ] 153 154 resource_config_file = 155 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 156} 157 158#################################################################################################################videoenc 159ohos_unittest("videoenc_capi_unit_test") { 160 module_out_path = module_output_path 161 include_dirs = [ 162 "./", 163 "./capi", 164 "$av_codec_root_dir/../../graphic/graphic_2d/frameworks/surface/include", 165 "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api", 166 "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits", 167 "$av_codec_root_dir/interfaces/inner_api/native", 168 "$av_codec_root_dir/interfaces/kits/c", 169 "$av_codec_root_dir/test/unittest/common", 170 "$av_codec_root_dir/test/unittest/common/common_mock", 171 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi", 172 "$av_codec_root_dir/test/unittest/common/common_mock/surface/capi", 173 "$av_codec_root_dir/test/unittest/format_test", 174 "$av_codec_root_dir/test/unittest/format_test/capi", 175 "$av_codec_root_dir/test/unittest/vcodec_test", 176 "$av_codec_root_dir/test/unittest/vcodec_test/capi", 177 "$av_codec_root_dir/test/unittest/vcodec_test/sample", 178 "$av_codec_root_dir/test/unittest/codeclist_test", 179 "$av_codec_root_dir/test/unittest/codeclist_test/capi", 180 "$av_codec_root_dir/frameworks/native/capi/common", 181 ] 182 183 cflags = vcodec_unittest_cflags 184 185 if (av_codec_support_codec) { 186 sources = [ 187 "$av_codec_root_dir/test/unittest/codeclist_test/capi/codeclist_capi_mock.cpp", 188 "$av_codec_root_dir/test/unittest/codeclist_test/capi/codeclist_capi_mock_factory.cpp", 189 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi/avmemory_capi_mock.cpp", 190 "$av_codec_root_dir/test/unittest/common/common_mock/surface/capi/surface_capi_mock.cpp", 191 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock.cpp", 192 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock_factory.cpp", 193 "./capi/vcodec_capi_mock_factory.cpp", 194 "./capi/videoenc_capi_mock.cpp", 195 "./sample/venc_sample.cpp", 196 "./videoenc_unit_test.cpp", 197 ] 198 } 199 deps = [ 200 "$av_codec_root_dir/interfaces/inner_api/native:av_codec_client", 201 "$av_codec_root_dir/interfaces/kits/c:native_media_core", 202 "$av_codec_root_dir/interfaces/kits/c:native_media_venc", 203 ] 204 external_deps = [ 205 "av_codec:av_codec_client", 206 "c_utils:utils", 207 "graphic_2d:libgraphic_utils", 208 "graphic_2d:librender_service_client", 209 "graphic_2d:surface", 210 "graphic_2d:sync_fence", 211 "hilog:libhilog", 212 "ipc:ipc_core", 213 "window_manager:libwm", 214 ] 215 216 resource_config_file = 217 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 218} 219 220#################################################################################################################videoenc 221ohos_unittest("videoenc_inner_unit_test") { 222 module_out_path = module_output_path 223 include_dirs = [ 224 "./", 225 "./vcodec_test", 226 "$av_codec_root_dir/test/unittest/codeclist_test", 227 "$av_codec_root_dir/test/unittest/codeclist_test/codeclist_test", 228 "$av_codec_root_dir/interfaces/inner_api/native", 229 "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api", 230 "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits", 231 "$av_codec_root_dir/interfaces/inner_api/inner", 232 "$av_codec_root_dir/interfaces/kits/c", 233 "$av_codec_root_dir/test/unittest/common", 234 "$av_codec_root_dir/test/unittest/common/common_mock", 235 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner", 236 "$av_codec_root_dir/test/unittest/common/common_mock/surface/inner", 237 "$av_codec_root_dir/test/unittest/format_test", 238 "$av_codec_root_dir/test/unittest/format_test/inner", 239 "$av_codec_root_dir/test/unittest/vcodec_test", 240 "$av_codec_root_dir/test/unittest/vcodec_test/inner", 241 "$av_codec_root_dir/test/unittest/vcodec_test/sample", 242 ] 243 244 cflags = vcodec_unittest_cflags 245 246 if (av_codec_support_codec) { 247 sources = [ 248 "$av_codec_root_dir/test/unittest/codeclist_test/inner/codeclist_inner_mock.cpp", 249 "$av_codec_root_dir/test/unittest/codeclist_test/inner/codeclist_inner_mock_factory.cpp", 250 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner/avmemory_inner_mock.cpp", 251 "$av_codec_root_dir/test/unittest/common/common_mock/surface/inner/surface_inner_mock.cpp", 252 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock.cpp", 253 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock_factory.cpp", 254 "./inner/vcodec_inner_mock_factory.cpp", 255 "./inner/videoenc_inner_mock.cpp", 256 "./sample/venc_sample.cpp", 257 "./videoenc_unit_test.cpp", 258 ] 259 } 260 deps = [ "$av_codec_root_dir/interfaces/inner_api/native:av_codec_client" ] 261 external_deps = [ 262 "av_codec:av_codec_client", 263 "c_utils:utils", 264 "graphic_2d:libgraphic_utils", 265 "graphic_2d:librender_service_client", 266 "graphic_2d:surface", 267 "graphic_2d:sync_fence", 268 "hilog:libhilog", 269 "ipc:ipc_core", 270 "window_manager:libwm", 271 ] 272 273 resource_config_file = 274 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 275} 276