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 19demuxer_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################################################################################################################# 42ohos_unittest("demuxer_capi_unit_test") { 43 sanitize = av_codec_test_sanitize 44 module_out_path = module_output_path 45 testonly = true 46 include_dirs = [ 47 "./", 48 "./capi", 49 "$av_codec_root_dir/interfaces/inner_api/native", 50 "$av_codec_root_dir/interfaces/kits/c", 51 "$av_codec_root_dir/frameworks/native/capi/common", 52 "$av_codec_root_dir/test/unittest/format_test", 53 "$av_codec_root_dir/test/unittest/format_test/capi", 54 "$av_codec_root_dir/test/unittest/avsource_test", 55 "$av_codec_root_dir/test/unittest/avsource_test/capi", 56 "$av_codec_root_dir/test/unittest/common/common_mock", 57 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory", 58 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi", 59 "$av_codec_root_dir/test/nativedemo/include", 60 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 61 "$av_codec_root_dir/services/utils/include", 62 "$av_codec_root_dir/services/media_engine/modules/demuxer", 63 ] 64 65 cflags = demuxer_unittest_cflags 66 67 if (av_codec_support_demuxer) { 68 sources = [ 69 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 70 "$av_codec_root_dir/test/unittest/avsource_test/capi/avsource_capi_mock.cpp", 71 "$av_codec_root_dir/test/unittest/avsource_test/capi/avsource_capi_mock_factory.cpp", 72 "./capi/demuxer_capi_mock.cpp", 73 "./capi/demuxer_capi_mock_factory.cpp", 74 "./demuxer_hevc_unit_test.cpp", 75 "./demuxer_plugin_manager_test.cpp", 76 "./demuxer_unit_test.cpp", 77 "./demuxer_uri_unit_test.cpp", 78 ] 79 } 80 81 if (target_cpu == "arm64" || is_emulator) { 82 av_codec_path = "\"/system/lib64\"" 83 } else { 84 av_codec_path = "\"/system/lib\"" 85 } 86 defines = [ 87 "AV_CODEC_PATH=${av_codec_path}", 88 "DEMUXER_CAPI_UNIT_TEST", 89 ] 90 public_deps = 91 [ "$av_codec_root_dir/test/unittest/common:av_codec_capi_unit_test" ] 92 deps = [ 93 "$av_codec_root_dir/interfaces/kits/c:capi_packages", 94 "$av_codec_root_dir/services/engine/base:av_codec_codec_base", 95 "$av_codec_root_dir/services/media_engine/modules:av_codec_media_engine_modules", 96 "$av_codec_root_dir/services/utils:av_codec_service_utils", 97 ] 98 external_deps = [ 99 "audio_framework:audio_capturer", 100 "av_codec:av_codec_client", 101 "c_utils:utils", 102 "ffmpeg:libohosffmpeg", 103 "graphic_surface:surface", 104 "graphic_surface:sync_fence", 105 "hilog:libhilog", 106 "hitrace:libhitracechain", 107 "init:libbegetutil", 108 "ipc:ipc_single", 109 "media_foundation:media_foundation", 110 "safwk:system_ability_fwk", 111 ] 112 if (av_codec_support_drm) { 113 external_deps += [ 114 "drm_framework:drm_framework", 115 "drm_framework:native_drm", 116 ] 117 } 118 119 resource_config_file = 120 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 121} 122 123#################################################################################################################muxer 124ohos_unittest("demuxer_inner_unit_test") { 125 sanitize = av_codec_test_sanitize 126 module_out_path = module_output_path 127 include_dirs = [ 128 "./", 129 "./inner", 130 "$av_codec_root_dir/interfaces/inner_api/inner", 131 "$av_codec_root_dir/interfaces/inner_api/native", 132 "$av_codec_root_dir/interfaces/kits/c", 133 "$av_codec_root_dir/test/unittest/format_test", 134 "$av_codec_root_dir/test/unittest/format_test/inner", 135 "$av_codec_root_dir/test/unittest/avsource_test", 136 "$av_codec_root_dir/test/unittest/avsource_test/inner", 137 "$av_codec_root_dir/test/unittest/common/common_mock", 138 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory", 139 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner", 140 "$av_codec_root_dir/test/nativedemo/include", 141 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 142 "$av_codec_root_dir/services/utils/include", 143 ] 144 145 cflags = demuxer_unittest_cflags 146 147 if (av_codec_support_demuxer) { 148 sources = [ 149 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 150 "$av_codec_root_dir/test/unittest/avsource_test/inner/avsource_inner_mock.cpp", 151 "$av_codec_root_dir/test/unittest/avsource_test/inner/avsource_inner_mock_factory.cpp", 152 "./demuxer_hevc_unit_test.cpp", 153 "./demuxer_unit_test.cpp", 154 "./demuxer_uri_unit_test.cpp", 155 "./inner/demuxer_inner_mock.cpp", 156 "./inner/demuxer_inner_mock_factory.cpp", 157 ] 158 } 159 160 if (target_cpu == "arm64" || is_emulator) { 161 av_codec_path = "\"/system/lib64\"" 162 } else { 163 av_codec_path = "\"/system/lib\"" 164 } 165 defines = [ "AV_CODEC_PATH=${av_codec_path}" ] 166 public_deps = 167 [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ] 168 deps = [ "$av_codec_root_dir/services/utils:av_codec_service_utils" ] 169 external_deps = [ 170 "av_codec:av_codec_client", 171 "c_utils:utils", 172 "graphic_surface:surface", 173 "hilog:libhilog", 174 ] 175 176 resource_config_file = 177 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 178} 179 180################################################################################################################# 181ohos_unittest("demuxer_capi_buffer_unit_test") { 182 sanitize = av_codec_test_sanitize 183 module_out_path = module_output_path 184 include_dirs = [ 185 "./", 186 "./capi", 187 "$av_codec_root_dir/interfaces/inner_api/native", 188 "$av_codec_root_dir/interfaces/kits/c", 189 "$av_codec_root_dir/frameworks/native/capi/common", 190 "$av_codec_root_dir/test/unittest/format_test", 191 "$av_codec_root_dir/test/unittest/format_test/capi", 192 "$av_codec_root_dir/test/unittest/avsource_test", 193 "$av_codec_root_dir/test/unittest/avsource_test/capi", 194 "$av_codec_root_dir/test/unittest/common/common_mock", 195 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory", 196 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/capi", 197 "$av_codec_root_dir/test/nativedemo/include", 198 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 199 "$av_codec_root_dir/services/utils/include", 200 ] 201 202 cflags = demuxer_unittest_cflags 203 204 if (av_codec_support_demuxer) { 205 sources = [ 206 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 207 "$av_codec_root_dir/test/unittest/avsource_test/capi/avsource_capi_mock.cpp", 208 "$av_codec_root_dir/test/unittest/avsource_test/capi/avsource_capi_mock_factory.cpp", 209 "./capi/demuxer_capi_buffer_mock.cpp", 210 "./capi/demuxer_capi_mock_factory.cpp", 211 "./demuxer_hevc_unit_test.cpp", 212 "./demuxer_unit_test.cpp", 213 "./demuxer_uri_unit_test.cpp", 214 ] 215 } 216 217 if (target_cpu == "arm64" || is_emulator) { 218 av_codec_path = "\"/system/lib64\"" 219 } else { 220 av_codec_path = "\"/system/lib\"" 221 } 222 defines = [ 223 "AV_CODEC_PATH=${av_codec_path}", 224 "DEMUXER_CAPI_UNIT_TEST", 225 "DEMUXER_CAPI_BUFFER_UNIT_TEST", 226 ] 227 public_deps = 228 [ "$av_codec_root_dir/test/unittest/common:av_codec_capi_unit_test" ] 229 deps = [ 230 "$av_codec_root_dir/interfaces/kits/c:capi_packages", 231 "$av_codec_root_dir/services/utils:av_codec_service_utils", 232 ] 233 external_deps = [ 234 "av_codec:av_codec_client", 235 "c_utils:utils", 236 "graphic_surface:surface", 237 "hilog:libhilog", 238 ] 239 240 resource_config_file = 241 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 242} 243 244#################################################################################################################muxer 245ohos_unittest("demuxer_inner_buffer_unit_test") { 246 sanitize = av_codec_test_sanitize 247 module_out_path = module_output_path 248 include_dirs = [ 249 "./", 250 "./inner", 251 "$av_codec_root_dir/interfaces/inner_api/inner", 252 "$av_codec_root_dir/interfaces/inner_api/native", 253 "$av_codec_root_dir/interfaces/kits/c", 254 "$av_codec_root_dir/test/unittest/format_test", 255 "$av_codec_root_dir/test/unittest/format_test/inner", 256 "$av_codec_root_dir/test/unittest/avsource_test", 257 "$av_codec_root_dir/test/unittest/avsource_test/inner", 258 "$av_codec_root_dir/test/unittest/common/common_mock", 259 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory", 260 "$av_codec_root_dir/test/unittest/common/common_mock/avmemory/inner", 261 "$av_codec_root_dir/test/nativedemo/include", 262 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 263 "$av_codec_root_dir/services/utils/include", 264 ] 265 266 cflags = demuxer_unittest_cflags 267 268 if (av_codec_support_demuxer) { 269 sources = [ 270 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 271 "$av_codec_root_dir/test/unittest/avsource_test/inner/avsource_inner_mock.cpp", 272 "$av_codec_root_dir/test/unittest/avsource_test/inner/avsource_inner_mock_factory.cpp", 273 "./demuxer_hevc_unit_test.cpp", 274 "./demuxer_unit_test.cpp", 275 "./demuxer_uri_unit_test.cpp", 276 "./inner/demuxer_inner_buffer_mock.cpp", 277 "./inner/demuxer_inner_mock_factory.cpp", 278 ] 279 } 280 281 if (target_cpu == "arm64" || is_emulator) { 282 av_codec_path = "\"/system/lib64\"" 283 } else { 284 av_codec_path = "\"/system/lib\"" 285 } 286 defines = [ "AV_CODEC_PATH=${av_codec_path}" ] 287 public_deps = 288 [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ] 289 deps = [ "$av_codec_root_dir/services/utils:av_codec_service_utils" ] 290 external_deps = [ 291 "av_codec:av_codec_client", 292 "c_utils:utils", 293 "graphic_surface:surface", 294 "hilog:libhilog", 295 ] 296 297 resource_config_file = 298 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 299} 300