1fa7767c5Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2fa7767c5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fa7767c5Sopenharmony_ci# you may not use this file except in compliance with the License.
4fa7767c5Sopenharmony_ci# You may obtain a copy of the License at
5fa7767c5Sopenharmony_ci#
6fa7767c5Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fa7767c5Sopenharmony_ci#
8fa7767c5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fa7767c5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fa7767c5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fa7767c5Sopenharmony_ci# See the License for the specific language governing permissions and
12fa7767c5Sopenharmony_ci# limitations under the License.
13fa7767c5Sopenharmony_ci
14fa7767c5Sopenharmony_ciimport("//build/test.gni")
15fa7767c5Sopenharmony_ciimport("//foundation/multimedia/media_foundation/config.gni")
16fa7767c5Sopenharmony_ci
17fa7767c5Sopenharmony_cimodule_output_path = "media_foundation/unittest"
18fa7767c5Sopenharmony_ci
19fa7767c5Sopenharmony_cigroup("format_unit_test") {
20fa7767c5Sopenharmony_ci  testonly = true
21fa7767c5Sopenharmony_ci  deps = [
22fa7767c5Sopenharmony_ci    ":format_capi_unit_test",
23fa7767c5Sopenharmony_ci    ":format_inner_unit_test",
24fa7767c5Sopenharmony_ci    ":format_unit_channel_layout_test",
25fa7767c5Sopenharmony_ci  ]
26fa7767c5Sopenharmony_ci}
27fa7767c5Sopenharmony_ci
28fa7767c5Sopenharmony_ciavcodec_unittest_cflags = [
29fa7767c5Sopenharmony_ci  "-std=c++17",
30fa7767c5Sopenharmony_ci  "-frtti",
31fa7767c5Sopenharmony_ci  "-fexceptions",
32fa7767c5Sopenharmony_ci  "-Wall",
33fa7767c5Sopenharmony_ci  "-fno-common",
34fa7767c5Sopenharmony_ci  "-fstack-protector-strong",
35fa7767c5Sopenharmony_ci  "-Wshadow",
36fa7767c5Sopenharmony_ci  "-FPIC",
37fa7767c5Sopenharmony_ci  "-FS",
38fa7767c5Sopenharmony_ci  "-O2",
39fa7767c5Sopenharmony_ci  "-D_FORTIFY_SOURCE=2",
40fa7767c5Sopenharmony_ci  "-fvisibility=hidden",
41fa7767c5Sopenharmony_ci  "-Wformat=2",
42fa7767c5Sopenharmony_ci  "-Wdate-time",
43fa7767c5Sopenharmony_ci  "-Werror",
44fa7767c5Sopenharmony_ci  "-Wextra",
45fa7767c5Sopenharmony_ci  "-Wimplicit-fallthrough",
46fa7767c5Sopenharmony_ci  "-Wsign-compare",
47fa7767c5Sopenharmony_ci  "-Wunused-parameter",
48fa7767c5Sopenharmony_ci]
49fa7767c5Sopenharmony_ci
50fa7767c5Sopenharmony_ci##################################################################################################################
51fa7767c5Sopenharmony_ciohos_unittest("format_capi_unit_test") {
52fa7767c5Sopenharmony_ci  module_out_path = module_output_path
53fa7767c5Sopenharmony_ci  include_dirs = [
54fa7767c5Sopenharmony_ci    "./",
55fa7767c5Sopenharmony_ci    "./capi",
56fa7767c5Sopenharmony_ci    "$histreamer_root_dir/interface/kits/c",
57fa7767c5Sopenharmony_ci  ]
58fa7767c5Sopenharmony_ci
59fa7767c5Sopenharmony_ci  cflags = avcodec_unittest_cflags
60fa7767c5Sopenharmony_ci
61fa7767c5Sopenharmony_ci  sources = [ "./avformat_unit_test.cpp" ]
62fa7767c5Sopenharmony_ci
63fa7767c5Sopenharmony_ci  defines = [
64fa7767c5Sopenharmony_ci    "HST_ANY_WITH_NO_RTTI",
65fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
66fa7767c5Sopenharmony_ci    "AVFORMAT_CAPI_UNIT_TEST",
67fa7767c5Sopenharmony_ci  ]
68fa7767c5Sopenharmony_ci
69fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_capi_unit_test" ]
70fa7767c5Sopenharmony_ci}
71fa7767c5Sopenharmony_ci
72fa7767c5Sopenharmony_ci##################################################################################################################
73fa7767c5Sopenharmony_ciohos_unittest("format_inner_unit_test") {
74fa7767c5Sopenharmony_ci  module_out_path = module_output_path
75fa7767c5Sopenharmony_ci  include_dirs = [
76fa7767c5Sopenharmony_ci    "./",
77fa7767c5Sopenharmony_ci    "./inner",
78fa7767c5Sopenharmony_ci    "$histreamer_root_dir/interface/inner_api/buffer",
79fa7767c5Sopenharmony_ci  ]
80fa7767c5Sopenharmony_ci
81fa7767c5Sopenharmony_ci  cflags = avcodec_unittest_cflags
82fa7767c5Sopenharmony_ci
83fa7767c5Sopenharmony_ci  sources = [ "./avformat_unit_test.cpp" ]
84fa7767c5Sopenharmony_ci
85fa7767c5Sopenharmony_ci  defines = [
86fa7767c5Sopenharmony_ci    "HST_ANY_WITH_NO_RTTI",
87fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
88fa7767c5Sopenharmony_ci  ]
89fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_inner_unit_test" ]
90fa7767c5Sopenharmony_ci}
91fa7767c5Sopenharmony_ci
92fa7767c5Sopenharmony_ci##################################################################################################################
93fa7767c5Sopenharmony_ciohos_unittest("format_unit_channel_layout_test") {
94fa7767c5Sopenharmony_ci  module_out_path = module_output_path
95fa7767c5Sopenharmony_ci  include_dirs = [
96fa7767c5Sopenharmony_ci    "./",
97fa7767c5Sopenharmony_ci    "./capi",
98fa7767c5Sopenharmony_ci    "$histreamer_root_dir/interface/inner_api/buffer",
99fa7767c5Sopenharmony_ci  ]
100fa7767c5Sopenharmony_ci
101fa7767c5Sopenharmony_ci  cflags = avcodec_unittest_cflags
102fa7767c5Sopenharmony_ci
103fa7767c5Sopenharmony_ci  sources = [ "./avformat_unit_channel_layout_test.cpp" ]
104fa7767c5Sopenharmony_ci
105fa7767c5Sopenharmony_ci  defines = [
106fa7767c5Sopenharmony_ci    "HST_ANY_WITH_NO_RTTI",
107fa7767c5Sopenharmony_ci    "MEDIA_OHOS",
108fa7767c5Sopenharmony_ci  ]
109fa7767c5Sopenharmony_ci  public_deps = [ "../common:media_foundation_inner_unit_test" ]
110fa7767c5Sopenharmony_ci}
111