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