1# Copyright (c) 2022 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
17MEDIA_ROOT_DIR = "//foundation/multimedia/av_codec/"
18module_output_path = "av_codec/moduletest"
19
20demuxer_moduletest_native_include_dirs = [
21  "$MEDIA_ROOT_DIR/interfaces/inner_api/native",
22  "$MEDIA_ROOT_DIR/interfaces/kits/c",
23  "$MEDIA_ROOT_DIR/services/services/factory",
24  "$MEDIA_ROOT_DIR/services/utils",
25  "./src/InnerAPI/include",
26]
27
28demuxer_moduletest_cflags = [
29  "-std=c++17",
30  "-fno-rtti",
31  "-fno-exceptions",
32  "-Wall",
33  "-fno-common",
34  "-fstack-protector-strong",
35  "-Wshadow",
36  "-FPIC",
37  "-FS",
38  "-O2",
39  "-D_FORTIFY_SOURCE=2",
40  "-fvisibility=hidden",
41  "-Wformat=2",
42  "-Wdate-time",
43  "-Werror",
44  "-Wextra",
45  "-Wimplicit-fallthrough",
46  "-Wsign-compare",
47  "-Wunused-parameter",
48]
49
50##################################################################################################################
51ohos_unittest("demuxer_native_module_test") {
52  sanitize = av_codec_test_sanitize
53  module_out_path = module_output_path
54  include_dirs = demuxer_moduletest_native_include_dirs
55  include_dirs += [ "./" ]
56
57  cflags = demuxer_moduletest_cflags
58
59  if (av_codec_support_codec) {
60    sources = [
61      #"./src/perf_test.cpp",
62      #"./src/reli_test.cpp",
63      "./src/InnerAPI/api_test.cpp",
64      "./src/InnerAPI/func_test.cpp",
65      "./src/InnerAPI/inner_demuxer_parser_sample.cpp",
66      "./src/InnerAPI/inner_demuxer_sample.cpp",
67      "./src/InnerAPI/parser_test.cpp",
68      "./src/api_test.cpp",
69      "./src/func2_test.cpp",
70      "./src/func_test.cpp",
71      "./src/randomseek_test.cpp",
72
73      #"./src/net_test.cpp",
74      #"./src/net2_test.cpp",
75      "./src/format_test.cpp",
76      "./src/proc_test.cpp",
77    ]
78  }
79
80  external_deps = [
81    "c_utils:utils",
82    "graphic_2d:librender_service_client",
83    "graphic_surface:surface",
84    "media_foundation:media_foundation",
85    "media_foundation:native_media_core",
86    "window_manager:libwm",
87  ]
88
89  public_deps =
90      [ "$av_codec_root_dir/test/unittest/common:av_codec_inner_unit_test" ]
91
92  if (target_cpu == "arm64") {
93    av_codec_path = "\"/system/lib64\""
94  } else {
95    av_codec_path = "\"/system/lib\""
96  }
97  defines = [ "AV_CODEC_PATH=${av_codec_path}" ]
98
99  deps = [
100    "$MEDIA_ROOT_DIR/interfaces/inner_api/native:av_codec_client",
101    "$MEDIA_ROOT_DIR/interfaces/kits/c:native_media_avdemuxer",
102    "$MEDIA_ROOT_DIR/interfaces/kits/c:native_media_avsource",
103    "$MEDIA_ROOT_DIR/interfaces/kits/c:native_media_codecbase",
104    "$MEDIA_ROOT_DIR/services/services:av_codec_service",
105  ]
106
107  resource_config_file =
108      "$MEDIA_ROOT_DIR/test/moduletest/resources/ohos_test.xml"
109}
110