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 19avsource_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("avsource_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/test/unittest/format_test", 51 "$av_codec_root_dir/test/unittest/format_test/capi", 52 "$av_codec_root_dir/test/nativedemo/include", 53 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 54 "//third_party/ffmpeg", 55 ] 56 57 cflags = avsource_unittest_cflags 58 59 if (av_codec_support_source) { 60 sources = [ 61 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 62 "./avsource_hevc_unit_test.cpp", 63 "./avsource_unit_test.cpp", 64 "./avsource_uri_unit_test.cpp", 65 "./capi/avsource_capi_mock.cpp", 66 "./capi/avsource_capi_mock_factory.cpp", 67 ] 68 } 69 70 if (target_cpu == "arm64" || is_emulator) { 71 av_codec_path = "\"/system/lib64\"" 72 } else { 73 av_codec_path = "\"/system/lib\"" 74 } 75 defines = [ "AV_CODEC_PATH=${av_codec_path}" ] 76 77 deps = [ "$av_codec_root_dir/interfaces/kits/c:capi_packages" ] 78 public_deps = 79 [ "$av_codec_root_dir/test/unittest/common:av_codec_capi_unit_test" ] 80 external_deps = [ 81 "av_codec:av_codec_client", 82 "c_utils:utils", 83 "graphic_2d:libgraphic_utils", 84 "graphic_surface:surface", 85 "hilog:libhilog", 86 "media_foundation:media_foundation", 87 "media_foundation:native_media_core", 88 ] 89 90 resource_config_file = 91 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 92} 93 94#################################################################################################################muxer 95ohos_unittest("avsource_inner_unit_test") { 96 sanitize = av_codec_test_sanitize 97 module_out_path = module_output_path 98 include_dirs = [ 99 "./", 100 "./inner", 101 "$av_codec_root_dir/interfaces/inner_api/native", 102 "$av_codec_root_dir/interfaces/kits/c", 103 "$av_codec_root_dir/test/unittest/format_test", 104 "$av_codec_root_dir/test/unittest/format_test/inner", 105 "$av_codec_root_dir/test/nativedemo/include", 106 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo", 107 "//third_party/ffmpeg", 108 ] 109 110 if (target_cpu == "arm64" || is_emulator) { 111 av_codec_path = "\"/system/lib64\"" 112 } else { 113 av_codec_path = "\"/system/lib\"" 114 } 115 defines = [ 116 "AV_CODEC_PATH=${av_codec_path}", 117 "AVSOURCE_INNER_UNIT_TEST", 118 ] 119 120 cflags = avsource_unittest_cflags 121 122 if (av_codec_support_source) { 123 sources = [ 124 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 125 "./avsource_hevc_unit_test.cpp", 126 "./avsource_unit_test.cpp", 127 "./avsource_uri_unit_test.cpp", 128 "./inner/avsource_inner_mock.cpp", 129 "./inner/avsource_inner_mock_factory.cpp", 130 ] 131 } 132 public_deps = 133 [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ] 134 external_deps = [ 135 "av_codec:av_codec_client", 136 "c_utils:utils", 137 "graphic_2d:libgraphic_utils", 138 "graphic_surface:surface", 139 "hilog:libhilog", 140 "media_foundation:media_foundation", 141 ] 142 143 resource_config_file = 144 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 145} 146