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 ] 55 56 cflags = avsource_unittest_cflags 57 58 if (av_codec_support_source) { 59 sources = [ 60 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 61 "./avsource_format_unit_test.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 defines += av_codec_defines 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 ] 108 109 if (target_cpu == "arm64" || is_emulator) { 110 av_codec_path = "\"/system/lib64\"" 111 } else { 112 av_codec_path = "\"/system/lib\"" 113 } 114 defines = [ 115 "AV_CODEC_PATH=${av_codec_path}", 116 "AVSOURCE_INNER_UNIT_TEST", 117 ] 118 119 cflags = avsource_unittest_cflags 120 121 if (av_codec_support_source) { 122 sources = [ 123 "$av_codec_root_dir/test/nativedemo/avdemuxer/server_demo/file_server_demo.cpp", 124 "./avsource_audio_vivid_unit_test.cpp", 125 "./avsource_format_unit_test.cpp", 126 "./avsource_hevc_unit_test.cpp", 127 "./avsource_unit_test.cpp", 128 "./avsource_uri_unit_test.cpp", 129 "./inner/avsource_inner_mock.cpp", 130 "./inner/avsource_inner_mock_factory.cpp", 131 ] 132 } 133 public_deps = 134 [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ] 135 external_deps = [ 136 "av_codec:av_codec_client", 137 "c_utils:utils", 138 "graphic_2d:libgraphic_utils", 139 "graphic_surface:surface", 140 "hilog:libhilog", 141 "ipc:ipc_single", 142 "media_foundation:media_foundation", 143 ] 144 145 resource_config_file = 146 "$av_codec_root_dir/test/unittest/resources/ohos_test.xml" 147} 148