1# Copyright (c) 2022 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("//base/print/print_fwk/print.gni")
15import("//build/test.gni")
16
17module_output_path = "print_fwk/fwk_print_cups_client_test"
18
19ohos_unittest("fwk_print_cups_client_test") {
20  module_out_path = module_output_path
21  include_dirs = [
22    "${print_path}/frameworks/innerkitsimpl/print_impl/include",
23    "${print_path}/frameworks/models/print_models/include",
24    "${print_path}/frameworks/ohprint/include",
25    "${print_path}/interfaces/kits/napi/print_napi/include",
26    "${print_path}/services/print_service/include",
27    "//vendor/open_source/cpp-httplib",
28    "${print_utils_path}/include",
29    "//third_party/node/src",
30  ]
31
32  sanitize = {
33    cfi = true
34    cfi_cross_dso = true
35    debug = false
36    blocklist = "${print_path}/cfi_blocklist.txt"
37  }
38
39  sources = []
40  cflags_cc = []
41
42  deps = [
43    "${print_path}/etc/init:printservice.rc",
44    "${print_path}/frameworks/innerkitsimpl/print_impl:print_client",
45    "${print_path}/frameworks/kits/extension:print_extension_framework",
46    "${print_path}/frameworks/kits/extension:print_extension_module",
47    "${print_path}/frameworks/models/print_models:print_models",
48    "${print_path}/interfaces/kits/jsnapi/print_extension:printextensionability_napi",
49    "${print_path}/interfaces/kits/jsnapi/print_extensionctx:printextensioncontext_napi",
50    "${print_path}/interfaces/kits/napi/print_napi:print_napi",
51    "${print_path}/profile:print_sa_profiles",
52    "${print_path}/services/print_service:print_service",
53    "//third_party/googletest:gmock_main",
54  ]
55
56  external_deps = [
57    "ability_base:base",
58    "ability_base:want",
59    "ability_base:zuri",
60    "ability_runtime:ability_manager",
61    "ability_runtime:abilitykit_native",
62    "access_token:libaccesstoken_sdk",
63    "access_token:libnativetoken",
64    "access_token:libtoken_setproc",
65    "bundle_framework:appexecfwk_base",
66    "bundle_framework:appexecfwk_core",
67    "c_utils:utils",
68    "drivers_interface_usb:libusb_proxy_1.0",
69    "hilog:libhilog",
70    "ipc:ipc_core",
71    "napi:ace_napi",
72    "safwk:system_ability_fwk",
73    "samgr:samgr_proxy",
74    "usb_manager:usbsrv_client",
75  ]
76
77  if (cups_enable) {
78    include_dirs += [ "//third_party/cups/cups-2.4.0" ]
79    sources += [
80      "print_cups_client_test.cpp",
81      "print_cups_wrapper_test.cpp",
82    ]
83    cflags_cc += [ "-DCUPS_ENABLE" ]
84    external_deps += [
85      "cJSON:cjson",
86      "cups:cups",
87      "cups-filters:cupsfilters",
88    ]
89  }
90
91  cflags_cc += [ "-DCPPHTTPLIB_NO_EXCEPTIONS" ]
92}
93
94group("unittest") {
95  testonly = true
96
97  deps = []
98
99  deps += [ ":fwk_print_cups_client_test" ]
100}
101