146debc2cSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
246debc2cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
346debc2cSopenharmony_ci# you may not use this file except in compliance with the License.
446debc2cSopenharmony_ci# You may obtain a copy of the License at
546debc2cSopenharmony_ci#
646debc2cSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
746debc2cSopenharmony_ci#
846debc2cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
946debc2cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1046debc2cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1146debc2cSopenharmony_ci# See the License for the specific language governing permissions and
1246debc2cSopenharmony_ci# limitations under the License.
1346debc2cSopenharmony_ci
1446debc2cSopenharmony_ciimport("//base/print/print_fwk/print.gni")
1546debc2cSopenharmony_ciimport("//build/config/features.gni")
1646debc2cSopenharmony_ciimport("//build/ohos.gni")
1746debc2cSopenharmony_ciimport("//build/test.gni")
1846debc2cSopenharmony_ci
1946debc2cSopenharmony_ci##############################fuzztest##########################################
2046debc2cSopenharmony_ciohos_fuzztest("PrintServiceAbilityFuzzTest") {
2146debc2cSopenharmony_ci  module_out_path = fuzz_test_output_path
2246debc2cSopenharmony_ci
2346debc2cSopenharmony_ci  fuzz_config_file = "${print_path}/test/fuzztest/printserviceability_fuzzer"
2446debc2cSopenharmony_ci
2546debc2cSopenharmony_ci  include_dirs = [
2646debc2cSopenharmony_ci    "mock",
2746debc2cSopenharmony_ci    "${print_path}/frameworks/innerkitsimpl/print_impl/include",
2846debc2cSopenharmony_ci    "${print_path}/frameworks/ohprint/include",
2946debc2cSopenharmony_ci    "${print_utils_path}/include",
3046debc2cSopenharmony_ci    "//vendor/open_source/cpp-httplib",
3146debc2cSopenharmony_ci  ]
3246debc2cSopenharmony_ci
3346debc2cSopenharmony_ci  cflags = [
3446debc2cSopenharmony_ci    "-g",
3546debc2cSopenharmony_ci    "-O0",
3646debc2cSopenharmony_ci    "-Wno-unused-variable",
3746debc2cSopenharmony_ci    "-fno-omit-frame-pointer",
3846debc2cSopenharmony_ci  ]
3946debc2cSopenharmony_ci
4046debc2cSopenharmony_ci  cflags_cc = []
4146debc2cSopenharmony_ci
4246debc2cSopenharmony_ci  deps = [
4346debc2cSopenharmony_ci    "${print_path}/etc/init:printservice.rc",
4446debc2cSopenharmony_ci    "${print_path}/frameworks/innerkitsimpl/print_impl:print_client",
4546debc2cSopenharmony_ci    "${print_path}/frameworks/kits/extension:print_extension_framework",
4646debc2cSopenharmony_ci    "${print_path}/frameworks/kits/extension:print_extension_module",
4746debc2cSopenharmony_ci    "${print_path}/frameworks/models/print_models:print_models",
4846debc2cSopenharmony_ci    "${print_path}/interfaces/kits/jsnapi/print_extension:printextensionability_napi",
4946debc2cSopenharmony_ci    "${print_path}/interfaces/kits/jsnapi/print_extensionctx:printextensioncontext_napi",
5046debc2cSopenharmony_ci    "${print_path}/interfaces/kits/napi/print_napi:print_napi",
5146debc2cSopenharmony_ci    "${print_path}/profile:print_sa_profiles",
5246debc2cSopenharmony_ci    "${print_path}/services/print_service:print_service",
5346debc2cSopenharmony_ci  ]
5446debc2cSopenharmony_ci
5546debc2cSopenharmony_ci  sources = [
5646debc2cSopenharmony_ci    "printserviceability_fuzzer.cpp",
5746debc2cSopenharmony_ci    "printserviceability_mock_permission.cpp",
5846debc2cSopenharmony_ci  ]
5946debc2cSopenharmony_ci
6046debc2cSopenharmony_ci  external_deps = [
6146debc2cSopenharmony_ci    "ability_base:base",
6246debc2cSopenharmony_ci    "ability_base:want",
6346debc2cSopenharmony_ci    "ability_base:zuri",
6446debc2cSopenharmony_ci    "ability_runtime:ability_manager",
6546debc2cSopenharmony_ci    "ability_runtime:abilitykit_native",
6646debc2cSopenharmony_ci    "access_token:libaccesstoken_sdk",
6746debc2cSopenharmony_ci    "access_token:libaccesstoken_sdk",
6846debc2cSopenharmony_ci    "access_token:libnativetoken",
6946debc2cSopenharmony_ci    "access_token:libtoken_setproc",
7046debc2cSopenharmony_ci    "bundle_framework:appexecfwk_base",
7146debc2cSopenharmony_ci    "bundle_framework:appexecfwk_core",
7246debc2cSopenharmony_ci    "c_utils:utils",
7346debc2cSopenharmony_ci    "common_event_service:cesfwk_innerkits",
7446debc2cSopenharmony_ci    "drivers_interface_usb:libusb_proxy_1.0",
7546debc2cSopenharmony_ci    "eventhandler:libeventhandler",
7646debc2cSopenharmony_ci    "hilog:libhilog",
7746debc2cSopenharmony_ci    "hisysevent:libhisysevent",
7846debc2cSopenharmony_ci    "init:libbegetutil",
7946debc2cSopenharmony_ci    "ipc:ipc_core",
8046debc2cSopenharmony_ci    "napi:ace_napi",
8146debc2cSopenharmony_ci    "os_account:os_account_innerkits",
8246debc2cSopenharmony_ci    "safwk:system_ability_fwk",
8346debc2cSopenharmony_ci    "samgr:samgr_proxy",
8446debc2cSopenharmony_ci    "usb_manager:usbsrv_client",
8546debc2cSopenharmony_ci    "wifi:wifi_sdk",
8646debc2cSopenharmony_ci  ]
8746debc2cSopenharmony_ci
8846debc2cSopenharmony_ci  if (cups_enable) {
8946debc2cSopenharmony_ci    cflags_cc += [ "-DCUPS_ENABLE" ]
9046debc2cSopenharmony_ci    external_deps += [
9146debc2cSopenharmony_ci      "cJSON:cjson",
9246debc2cSopenharmony_ci      "cups:cups",
9346debc2cSopenharmony_ci      "cups-filters:cupsfilters",
9446debc2cSopenharmony_ci    ]
9546debc2cSopenharmony_ci  }
9646debc2cSopenharmony_ci
9746debc2cSopenharmony_ci  if (security_guard_enabled) {
9846debc2cSopenharmony_ci    external_deps += [
9946debc2cSopenharmony_ci      "security_guard:libsg_collect_sdk",
10046debc2cSopenharmony_ci      "time_service:time_client",
10146debc2cSopenharmony_ci    ]
10246debc2cSopenharmony_ci  }
10346debc2cSopenharmony_ci}
10446debc2cSopenharmony_ci
10546debc2cSopenharmony_ci###############################################################################
10646debc2cSopenharmony_cigroup("fuzztest") {
10746debc2cSopenharmony_ci  testonly = true
10846debc2cSopenharmony_ci  deps = []
10946debc2cSopenharmony_ci  deps += [
11046debc2cSopenharmony_ci    # deps file
11146debc2cSopenharmony_ci    ":PrintServiceAbilityFuzzTest",
11246debc2cSopenharmony_ci  ]
11346debc2cSopenharmony_ci}
11446debc2cSopenharmony_ci###############################################################################
115