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 sanitize = av_codec_test_sanitize 44 module_out_path = module_output_path 45 include_dirs = [ 46 "./", 47 "./capi", 48 ] 49 50 cflags = avmuxer_unittest_cflags 51 52 if (av_codec_support_muxer) { 53 sources = [ 54 "./avmuxer_sample.cpp", 55 "./avmuxer_unit_test.cpp", 56 "./capi/avmuxer_capi_mock.cpp", 57 "./capi/avmuxer_capi_mock_factory.cpp", 58 ] 59 } 60 61 if (target_cpu == "arm64" || is_emulator) { 62 av_codec_path = "\"/system/lib64\"" 63 } else { 64 av_codec_path = "\"/system/lib\"" 65 } 66 defines = [ 67 "AVMUXER_UNITTEST_CAPI", 68 "AV_CODEC_PATH=${av_codec_path}", 69 ] 70 71 public_deps = 72 [ "$av_codec_root_dir/test/unittest/common:av_codec_capi_unit_test" ] 73 74 deps = [ "$av_codec_root_dir/interfaces/kits/c:capi_packages" ] 75 76 external_deps = [ 77 "av_codec:av_codec_client", 78 "graphic_surface:surface", 79 ] 80 81 resource_config_file = 82 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 83} 84 85#################################################################################################################muxer 86ohos_unittest("avmuxer_inner_unit_test") { 87 sanitize = av_codec_test_sanitize 88 module_out_path = module_output_path 89 include_dirs = [ 90 "./", 91 "./inner", 92 ] 93 94 cflags = avmuxer_unittest_cflags 95 96 if (av_codec_support_muxer) { 97 sources = [ 98 "./avmuxer_sample.cpp", 99 "./avmuxer_unit_test.cpp", 100 "./inner/avmuxer_inner_mock.cpp", 101 "./inner/avmuxer_inner_mock_factory.cpp", 102 ] 103 } 104 105 if (target_cpu == "arm64" || is_emulator) { 106 av_codec_path = "\"/system/lib64\"" 107 } else { 108 av_codec_path = "\"/system/lib\"" 109 } 110 defines = [ 111 "AVMUXER_UNITTEST_INNER_API", 112 "AV_CODEC_PATH=${av_codec_path}", 113 ] 114 115 public_deps = 116 [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ] 117 118 deps = [ "$av_codec_root_dir/interfaces/kits/c:native_media_codecbase" ] 119 120 external_deps = [ 121 "av_codec:av_codec_client", 122 "graphic_surface:surface", 123 ] 124 125 resource_config_file = 126 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 127} 128