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 19avmuxer_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#################################################################################################################muxer 42ohos_unittest("avmuxer_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/test/unittest/format_test", 50 "$av_codec_root_dir/test/unittest/format_test/capi", 51 ] 52 53 cflags = avmuxer_unittest_cflags 54 55 if (av_codec_support_muxer) { 56 sources = [ 57 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock.cpp", 58 "$av_codec_root_dir/test/unittest/format_test/capi/avformat_capi_mock_factory.cpp", 59 "./avmuxer_sample.cpp", 60 "./avmuxer_unit_test.cpp", 61 "./capi/avmuxer_capi_mock.cpp", 62 "./capi/avmuxer_capi_mock_factory.cpp", 63 ] 64 } 65 66 defines = [ "AVMUXER_UNITTEST_CAPI" ] 67 68 deps = [ "$av_codec_root_dir/interfaces/kits/c:capi_packages" ] 69 70 external_deps = [ 71 "av_codec:av_codec_client", 72 "selinux_adapter:librestorecon", 73 ] 74 75 resource_config_file = 76 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 77} 78 79#################################################################################################################muxer 80ohos_unittest("avmuxer_inner_unit_test") { 81 module_out_path = module_output_path 82 include_dirs = [ 83 "./", 84 "./inner", 85 "$av_codec_root_dir/interfaces/inner_api/native", 86 "$av_codec_root_dir/interfaces/kits/c", 87 "$av_codec_root_dir/test/unittest/format_test", 88 "$av_codec_root_dir/test/unittest/format_test/inner", 89 ] 90 91 cflags = avmuxer_unittest_cflags 92 93 if (av_codec_support_muxer) { 94 sources = [ 95 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock.cpp", 96 "$av_codec_root_dir/test/unittest/format_test/inner/avformat_inner_mock_factory.cpp", 97 "./avmuxer_sample.cpp", 98 "./avmuxer_unit_test.cpp", 99 "./inner/avmuxer_inner_mock.cpp", 100 "./inner/avmuxer_inner_mock_factory.cpp", 101 ] 102 } 103 104 deps = [ "$av_codec_root_dir/services/utils:av_codec_service_utils" ] 105 106 external_deps = [ 107 "av_codec:av_codec_client", 108 "selinux_adapter:librestorecon", 109 ] 110 111 resource_config_file = 112 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 113} 114