1# Copyright (c) 2023-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("../../../../os_account.gni") 15 16#####################hydra-fuzz################### 17import("//build/config/features.gni") 18import("//build/ohos.gni") 19import("//build/test.gni") 20 21##############################fuzztest########################################## 22ohos_fuzztest("AuthUserStubFuzzTest") { 23 module_out_path = fuzz_output_path 24 25 fuzz_config_file = "." 26 include_dirs = [ 27 "${innerkits_path}/include", 28 "${os_account_core_path}/include", 29 "${os_account_path}/dfx/hidumper_adapter", 30 "${os_account_path}/dfx/hitrace_adapter", 31 "${os_account_interfaces_native_path}/include", 32 "${services_path}/accountmgr/include/bundle_manager_adapter", 33 "${account_iam_interfaces_native_path}/include", 34 "${services_path}/accountmgr/include", 35 "${services_path}/accountmgr/include/account_iam", 36 "${app_account_innerkits_native_path}/include", 37 "${os_account_path}/test/fuzztest/appaccount_stub/fuzz_data", 38 ] 39 cflags = [ 40 "-g", 41 "-O0", 42 "-Wno-unused-variable", 43 "-fno-omit-frame-pointer", 44 ] 45 cflags_cc = [ 46 "-Wdate-time", 47 "-Wformat=2", 48 "-Wfloat-equal", 49 "-Wshadow", 50 ] 51 52 if (target_cpu == "arm") { 53 cflags += [ "-DBINDER_IPC_32BIT" ] 54 } 55 sources = [ 56 "${app_account_services_path}/src/account_iam/account_iam_service.cpp", 57 "authuserstub_fuzzer.cpp", 58 ] 59 60 deps = [ 61 "${account_iam_framework_path}:account_iam_innerkits", 62 "${common_path}:libaccount_common", 63 "${os_account_innerkits_native_path}:os_account_innerkits", 64 "${os_account_path}/services/accountmgr:accountmgr", 65 ] 66 67 external_deps = [ 68 "ability_base:want", 69 "ability_runtime:app_manager", 70 "ability_runtime:wantagent_innerkits", 71 "access_token:libaccesstoken_sdk", 72 "access_token:libtokenid_sdk", 73 "bundle_framework:appexecfwk_base", 74 "c_utils:utils", 75 "hilog:libhilog", 76 "ipc:ipc_single", 77 "kv_store:distributeddata_inner", 78 "safwk:system_ability_fwk", 79 "samgr:samgr_proxy", 80 ] 81 82 if (has_pin_auth_part) { 83 cflags_cc += [ "-DHAS_PIN_AUTH_PART" ] 84 external_deps += [ "pin_auth:pinauth_framework" ] 85 } 86 87 if (has_user_auth_part) { 88 cflags_cc += [ "-DHAS_USER_AUTH_PART" ] 89 external_deps += [ "user_auth_framework:userauth_client" ] 90 } 91 92 defines = [ 93 "ACCOUNT_LOG_TAG = \"IamAccountFuzzTest\"", 94 "LOG_DOMAIN = 0xD001B00", 95 ] 96} 97