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