1da853ecaSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 2da853ecaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3da853ecaSopenharmony_ci# you may not use this file except in compliance with the License. 4da853ecaSopenharmony_ci# You may obtain a copy of the License at 5da853ecaSopenharmony_ci# 6da853ecaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7da853ecaSopenharmony_ci# 8da853ecaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9da853ecaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10da853ecaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11da853ecaSopenharmony_ci# See the License for the specific language governing permissions and 12da853ecaSopenharmony_ci# limitations under the License. 13da853ecaSopenharmony_ci 14da853ecaSopenharmony_ciimport("//build/test.gni") 15da853ecaSopenharmony_ciimport("//foundation/multimedia/av_codec/config.gni") 16da853ecaSopenharmony_ci 17da853ecaSopenharmony_cimodule_output_path = "av_codec/unittest" 18da853ecaSopenharmony_ci 19da853ecaSopenharmony_cihls_test_sources = [ 20da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/base64/base64_utils.cpp", 21da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/download/downloader.cpp", 22da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/download/network_client/http_curl_client.cpp", 23da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/hls/hls_media_downloader.cpp", 24da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/hls/hls_playlist_downloader.cpp", 25da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/hls/hls_tags.cpp", 26da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/hls/m3u8.cpp", 27da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/hls/playlist_downloader.cpp", 28da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/http/http_media_downloader.cpp", 29da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/http_source_plugin.cpp", 30da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/utils/media_cached_buffer.cpp", 31da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/common/http_server_demo.cpp", 32da853ecaSopenharmony_ci] 33da853ecaSopenharmony_ci 34da853ecaSopenharmony_ciconfig("hls_unittest_cfg") { 35da853ecaSopenharmony_ci defines = [ 36da853ecaSopenharmony_ci "HST_ANY_WITH_NO_RTTI", 37da853ecaSopenharmony_ci "MEDIA_OHOS", 38da853ecaSopenharmony_ci "TESTING", 39da853ecaSopenharmony_ci ] 40da853ecaSopenharmony_ci 41da853ecaSopenharmony_ci cflags = [ 42da853ecaSopenharmony_ci "-Wno-sign-compare", 43da853ecaSopenharmony_ci "-fno-exceptions", 44da853ecaSopenharmony_ci "-fno-common", 45da853ecaSopenharmony_ci "-fstack-protector-all", 46da853ecaSopenharmony_ci "-Wshadow", 47da853ecaSopenharmony_ci "-FPIC", 48da853ecaSopenharmony_ci "-FS", 49da853ecaSopenharmony_ci "-O2", 50da853ecaSopenharmony_ci "-D_FORTIFY_SOURCE=2", 51da853ecaSopenharmony_ci "-Wformat=2", 52da853ecaSopenharmony_ci "-Wdate-time", 53da853ecaSopenharmony_ci "-Dprivate=public", 54da853ecaSopenharmony_ci "-Dprotected=public", 55da853ecaSopenharmony_ci ] 56da853ecaSopenharmony_ci 57da853ecaSopenharmony_ci cflags_cc = [ 58da853ecaSopenharmony_ci "-std=c++17", 59da853ecaSopenharmony_ci "-fno-rtti", 60da853ecaSopenharmony_ci "-Dprivate=public", 61da853ecaSopenharmony_ci "-Dprotected=public", 62da853ecaSopenharmony_ci ] 63da853ecaSopenharmony_ci 64da853ecaSopenharmony_ci include_dirs = [ 65da853ecaSopenharmony_ci "$av_codec_root_dir/interfaces", 66da853ecaSopenharmony_ci "$av_codec_root_dir/interfaces/inner_api/native", 67da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source", 68da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/base64", 69da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/xml", 70da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/dash", 71da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/dash/include", 72da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/plugins/source/http_source/dash/include/mpd_parser", 73da853ecaSopenharmony_ci "$media_foundation_root_dir/src", 74da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/common", 75da853ecaSopenharmony_ci "//third_party/curl/include", 76da853ecaSopenharmony_ci "//third_party/openssl/include", 77da853ecaSopenharmony_ci "$av_codec_root_dir/services/drm_decryptor", 78da853ecaSopenharmony_ci "$av_codec_root_dir/services/media_engine/modules", 79da853ecaSopenharmony_ci "$media_foundation_root_dir/interface/inner_api", 80da853ecaSopenharmony_ci "//commonlibrary/c_utils/base/include/", 81da853ecaSopenharmony_ci "//third_party/ffmpeg", 82da853ecaSopenharmony_ci ] 83da853ecaSopenharmony_ci} 84da853ecaSopenharmony_ci 85da853ecaSopenharmony_ciohos_unittest("hls_media_downloader_unit_test") { 86da853ecaSopenharmony_ci sanitize = av_codec_test_sanitize 87da853ecaSopenharmony_ci module_out_path = module_output_path 88da853ecaSopenharmony_ci testonly = true 89da853ecaSopenharmony_ci configs = [ 90da853ecaSopenharmony_ci ":hls_unittest_cfg", 91da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_log_dfx_public_config", 92da853ecaSopenharmony_ci ] 93da853ecaSopenharmony_ci sources = hls_test_sources + [ "hls_media_downloader_unit_test.cpp" ] 94da853ecaSopenharmony_ci deps = [ 95da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_dfx", 96da853ecaSopenharmony_ci "//third_party/curl:curl_shared", 97da853ecaSopenharmony_ci "//third_party/openssl:libcrypto_shared", 98da853ecaSopenharmony_ci ] 99da853ecaSopenharmony_ci 100da853ecaSopenharmony_ci external_deps = [ 101da853ecaSopenharmony_ci "c_utils:utils", 102da853ecaSopenharmony_ci "graphic_surface:surface", 103da853ecaSopenharmony_ci "hilog:libhilog", 104da853ecaSopenharmony_ci "init:libbegetutil", 105da853ecaSopenharmony_ci "ipc:ipc_single", 106da853ecaSopenharmony_ci "media_foundation:media_foundation", 107da853ecaSopenharmony_ci "netmanager_base:net_conn_manager_if", 108da853ecaSopenharmony_ci "safwk:system_ability_fwk", 109da853ecaSopenharmony_ci ] 110da853ecaSopenharmony_ci resource_config_file = 111da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 112da853ecaSopenharmony_ci} 113da853ecaSopenharmony_ci 114da853ecaSopenharmony_ciohos_unittest("hls_playlist_downloader_unit_test") { 115da853ecaSopenharmony_ci sanitize = av_codec_test_sanitize 116da853ecaSopenharmony_ci module_out_path = module_output_path 117da853ecaSopenharmony_ci testonly = true 118da853ecaSopenharmony_ci configs = [ 119da853ecaSopenharmony_ci ":hls_unittest_cfg", 120da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_log_dfx_public_config", 121da853ecaSopenharmony_ci ] 122da853ecaSopenharmony_ci sources = hls_test_sources + [ "hls_playlist_downloader_unit_test.cpp" ] 123da853ecaSopenharmony_ci deps = [ 124da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_dfx", 125da853ecaSopenharmony_ci "//third_party/curl:curl_shared", 126da853ecaSopenharmony_ci "//third_party/openssl:libcrypto_shared", 127da853ecaSopenharmony_ci ] 128da853ecaSopenharmony_ci 129da853ecaSopenharmony_ci external_deps = [ 130da853ecaSopenharmony_ci "c_utils:utils", 131da853ecaSopenharmony_ci "graphic_surface:surface", 132da853ecaSopenharmony_ci "hilog:libhilog", 133da853ecaSopenharmony_ci "init:libbegetutil", 134da853ecaSopenharmony_ci "ipc:ipc_single", 135da853ecaSopenharmony_ci "media_foundation:media_foundation", 136da853ecaSopenharmony_ci "netmanager_base:net_conn_manager_if", 137da853ecaSopenharmony_ci "safwk:system_ability_fwk", 138da853ecaSopenharmony_ci ] 139da853ecaSopenharmony_ci resource_config_file = 140da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 141da853ecaSopenharmony_ci} 142da853ecaSopenharmony_ci 143da853ecaSopenharmony_ciohos_unittest("hls_tags_unit_test") { 144da853ecaSopenharmony_ci sanitize = av_codec_test_sanitize 145da853ecaSopenharmony_ci module_out_path = module_output_path 146da853ecaSopenharmony_ci testonly = true 147da853ecaSopenharmony_ci configs = [ 148da853ecaSopenharmony_ci ":hls_unittest_cfg", 149da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_log_dfx_public_config", 150da853ecaSopenharmony_ci ] 151da853ecaSopenharmony_ci sources = hls_test_sources + [ "hls_tags_unit_test.cpp" ] 152da853ecaSopenharmony_ci deps = [ 153da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_dfx", 154da853ecaSopenharmony_ci "//third_party/curl:curl_shared", 155da853ecaSopenharmony_ci "//third_party/openssl:libcrypto_shared", 156da853ecaSopenharmony_ci ] 157da853ecaSopenharmony_ci 158da853ecaSopenharmony_ci external_deps = [ 159da853ecaSopenharmony_ci "c_utils:utils", 160da853ecaSopenharmony_ci "graphic_surface:surface", 161da853ecaSopenharmony_ci "hilog:libhilog", 162da853ecaSopenharmony_ci "init:libbegetutil", 163da853ecaSopenharmony_ci "ipc:ipc_single", 164da853ecaSopenharmony_ci "media_foundation:media_foundation", 165da853ecaSopenharmony_ci "netmanager_base:net_conn_manager_if", 166da853ecaSopenharmony_ci "safwk:system_ability_fwk", 167da853ecaSopenharmony_ci ] 168da853ecaSopenharmony_ci resource_config_file = 169da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 170da853ecaSopenharmony_ci} 171da853ecaSopenharmony_ci 172da853ecaSopenharmony_ciohos_unittest("m3u8_unit_test") { 173da853ecaSopenharmony_ci sanitize = av_codec_test_sanitize 174da853ecaSopenharmony_ci module_out_path = module_output_path 175da853ecaSopenharmony_ci testonly = true 176da853ecaSopenharmony_ci configs = [ 177da853ecaSopenharmony_ci ":hls_unittest_cfg", 178da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_log_dfx_public_config", 179da853ecaSopenharmony_ci ] 180da853ecaSopenharmony_ci sources = hls_test_sources + [ "m3u8_unit_test.cpp" ] 181da853ecaSopenharmony_ci deps = [ 182da853ecaSopenharmony_ci "$av_codec_root_dir/services/dfx:av_codec_service_dfx", 183da853ecaSopenharmony_ci "//third_party/curl:curl_shared", 184da853ecaSopenharmony_ci "//third_party/openssl:libcrypto_shared", 185da853ecaSopenharmony_ci ] 186da853ecaSopenharmony_ci 187da853ecaSopenharmony_ci external_deps = [ 188da853ecaSopenharmony_ci "c_utils:utils", 189da853ecaSopenharmony_ci "graphic_surface:surface", 190da853ecaSopenharmony_ci "hilog:libhilog", 191da853ecaSopenharmony_ci "init:libbegetutil", 192da853ecaSopenharmony_ci "ipc:ipc_single", 193da853ecaSopenharmony_ci "media_foundation:media_foundation", 194da853ecaSopenharmony_ci "netmanager_base:net_conn_manager_if", 195da853ecaSopenharmony_ci "safwk:system_ability_fwk", 196da853ecaSopenharmony_ci ] 197da853ecaSopenharmony_ci resource_config_file = 198da853ecaSopenharmony_ci "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 199da853ecaSopenharmony_ci} 200