1# Copyright (c) 2024 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/image_effect/config.gni")
16
17module_output_path = "image_effect/image_effect_unittest"
18
19base_include_dirs = [
20  "$image_effect_root_dir/interfaces/inner_api/native/memory",
21  "$image_effect_root_dir/frameworks/native/effect/base",
22  "$image_effect_root_dir/frameworks/native/capi",
23  "$image_effect_root_dir/frameworks/native/effect/pipeline/include/core",
24  "$image_effect_root_dir/frameworks/native/efilter/filterimpl/crop",
25  "$image_effect_root_dir/frameworks/native/utils/common",
26  "$image_effect_root_dir/frameworks/native/utils/dfx",
27]
28
29base_sources = [
30  "$image_effect_root_dir/frameworks/native/capi/native_common_utils.cpp",
31  "$image_effect_root_dir/frameworks/native/effect/base/external_loader.cpp",
32  "$image_effect_root_dir/frameworks/native/effect/manager/memory_manager/effect_memory.cpp",
33  "$image_effect_root_dir/frameworks/native/effect/manager/memory_manager/effect_memory_manager.cpp",
34  "$image_effect_root_dir/frameworks/native/effect/pipeline/core/filter_base.cpp",
35  "$image_effect_root_dir/frameworks/native/effect/pipeline/core/pipeline_core.cpp",
36  "$image_effect_root_dir/frameworks/native/effect/pipeline/core/port.cpp",
37  "$image_effect_root_dir/frameworks/native/efilter/filterimpl/crop/crop_efilter.cpp",
38  "$image_effect_root_dir/frameworks/native/utils/common/common_utils.cpp",
39  "$image_effect_root_dir/frameworks/native/utils/common/effect_json_helper.cpp",
40  "$image_effect_root_dir/frameworks/native/utils/dfx/error_code.cpp",
41]
42
43ohos_unittest("image_effect_unittest") {
44  module_out_path = module_output_path
45  resource_config_file = "$image_effect_root_dir/test/resource/ohos_test.xml"
46
47  include_dirs = base_include_dirs
48
49  include_dirs += [
50    "$image_effect_root_dir/frameworks/native/effect/render_environment/gpu_render",
51    "$image_effect_root_dir/frameworks/native/effect/render_environment/utils",
52    "$image_effect_root_dir/frameworks/native/efilter/filterimpl/brightness",
53    "$image_effect_root_dir/frameworks/native/efilter/filterimpl/contrast",
54    "$image_effect_root_dir/frameworks/native/efilter/filterimpl/crop",
55    "$image_effect_root_dir/frameworks/native/capi",
56    "$image_effect_root_dir/test/unittest/mock/include",
57    "$image_effect_root_dir/test/unittest/common",
58    "$image_effect_root_dir/test/unittest/utils",
59  ]
60
61  sources = base_sources
62
63  sources += [
64    "$image_effect_root_dir/test/unittest/TestEffectMemoryManager.cpp",
65    "$image_effect_root_dir/test/unittest/TestEffectPipeline.cpp",
66    "$image_effect_root_dir/test/unittest/TestImageEffect.cpp",
67    "$image_effect_root_dir/test/unittest/TestJsonHelper.cpp",
68    "$image_effect_root_dir/test/unittest/TestPort.cpp",
69    "$image_effect_root_dir/test/unittest/TestRenderEnvironment.cpp",
70    "$image_effect_root_dir/test/unittest/TestUtils.cpp",
71    "$image_effect_root_dir/test/unittest/image_effect_capi_unittest.cpp",
72    "$image_effect_root_dir/test/unittest/image_effect_inner_unittest.cpp",
73    "$image_effect_root_dir/test/unittest/mock/src/mock_picture.cpp",
74    "$image_effect_root_dir/test/unittest/mock/src/mock_pixel_map.cpp",
75    "$image_effect_root_dir/test/unittest/mock/src/mock_producer_surface.cpp",
76    "$image_effect_root_dir/test/unittest/native_image_effect_unittest.cpp",
77    "$image_effect_root_dir/test/unittest/utils/test_native_buffer_utils.cpp",
78    "$image_effect_root_dir/test/unittest/utils/test_pixel_map_utils.cpp",
79  ]
80
81  deps = [
82    "$image_effect_root_dir/frameworks/native:image_effect",
83    "$image_effect_root_dir/frameworks/native:image_effect_impl",
84    "//third_party/googletest:gmock_main",
85    "//third_party/googletest:gtest_main",
86  ]
87
88  external_deps = [
89    "ability_base:zuri",
90    "cJSON:cjson",
91    "c_utils:utils",
92    "drivers_interface_display:display_commontype_idl_headers",
93    "graphic_2d:EGL",
94    "graphic_2d:GLESv3",
95    "graphic_surface:surface",
96    "graphic_surface:sync_fence",
97    "hilog:libhilog",
98    "hitrace:hitrace_meter",
99    "image_framework:image_native",
100    "image_framework:picture",
101    "image_framework:pixelmap",
102    "ipc:ipc_single",
103    "libexif:libexif",
104    "napi:ace_napi",
105  ]
106
107  use_exceptions = true
108
109  cflags = [
110    "-fPIC",
111    "-Werror=unused",
112    "-fno-access-control",  # Ignore Private Member Access Control
113  ]
114
115  cflags_cc = cflags
116}
117