1# Copyright (c) 2025 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/media_library/media_library.gni") 16 17ohos_fuzztest("MediaLibraryRefreshFuzzTest") { 18 module_out_path = "media_library/media_library" 19 fuzz_config_file = "." 20 21 include_dirs = [ 22 ".", 23 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include", 24 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/event_handler", 25 "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include", 26 "${MEDIALIB_INNERKITS_PATH}/test/unittest/medialibrary_unittest_utils/include", 27 "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/include/register_manager", 28 "../medialibrary_unittest_utils/include", 29 "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include", 30 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include", 31 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include/data", 32 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include/register_manger", 33 "${MEDIALIB_ACCURATE_REFRESH_PATH}/include", 34 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include", 35 "${MEDIALIB_UTILS_PATH}/include", 36 "${MEDIALIB_TEST_PATH}/unittest/get_self_permissions/include", 37 ] 38 39 sources = [ 40 "${MEDIALIB_TEST_PATH}/unittest/get_self_permissions/src/get_self_permissions.cpp", 41 "${MEDIALIB_INNERKITS_PATH}/test/unittest/medialibrary_unittest_utils/src/medialibrary_unittest_utils.cpp", 42 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notify_task_worker.cpp", 43 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_classification.cpp", 44 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_distribution.cpp", 45 "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_merging.cpp", 46 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/accurate_refresh_base.cpp", 47 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/accurate_refresh_data_manager.cpp", 48 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_accurate_refresh.cpp", 49 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_data_manager.cpp", 50 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_refresh_execution.cpp", 51 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/system_album_info_calculation.cpp", 52 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/asset_accurate_refresh.cpp", 53 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/asset_data_manager.cpp", 54 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/cloud_enhancement_asset_helper.cpp", 55 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/favorite_asset_helper.cpp", 56 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/hiddem_asset_helper.cpp", 57 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/image_asset_helper.cpp", 58 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/owner_album_info_calculation.cpp", 59 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_asset_helper.cpp", 60 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/trash_asset_helper.cpp", 61 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/video_asset_helper.cpp", 62 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/asset_change_notify_execution.cpp", 63 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_change_notify_execution.cpp", 64 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/album_accurate_refresh_manager.cpp", 65 "${MEDIALIB_ACCURATE_REFRESH_PATH}/src/multi_thread_asset_change_info_mgr.cpp", 66 "./medialibraryrefresh_fuzzer.cpp", 67 ] 68 69 deps = [ 70 "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library", 71 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension:medialibrary_data_extension", 72 ] 73 74 external_deps = [ 75 "hitrace:hitrace_meter", 76 "access_token:libaccesstoken_sdk", 77 "access_token:libprivacy_sdk", 78 "access_token:libnativetoken_shared", 79 "access_token:libtokensetproc_shared", 80 "ability_base:zuri", 81 "ability_runtime:ability_context_native", 82 "ability_runtime:ability_manager", 83 "ability_runtime:abilitykit_native", 84 "ability_runtime:app_context", 85 "bundle_framework:appexecfwk_core", 86 "c_utils:utils", 87 "common_event_service:cesfwk_innerkits", 88 "data_share:datashare_common", 89 "data_share:datashare_provider", 90 "device_manager:devicemanagersdk", 91 "dfs_service:cloudsync_kit_inner", 92 "hilog:libhilog", 93 "ipc:ipc_single", 94 "kv_store:distributeddata_inner", 95 "napi:ace_napi", 96 "player_framework:media_client", 97 "relational_store:native_rdb", 98 "relational_store:rdb_data_share_adapter", 99 "ability_runtime:dataobs_manager", 100 "app_file_service:fileuri_native", 101 "data_share:datashare_consumer", 102 "e2fsprogs:libext2_uuid", 103 "image_framework:image_native", 104 "ability_runtime:runtime", 105 "ipc:ipc_napi", 106 ] 107 108 defines = [] 109 defines += [ "MEDIALIBRARY_COMPATIBILITY=1" ] 110 defines += [ "MEDIA_REFRESH_TEST" ] 111 112 if (defined(global_parts_info) && 113 defined(global_parts_info.filemanagement_dfs_service)) { 114 defines += [ "CLOUD_SYNC_MANAGER" ] 115 external_deps += [ "dfs_service:cloudsync_kit_inner" ] 116 } 117}