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