• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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/config/features.gni")
15import("//build/ohos.gni")
16import("//build/test.gni")
17import("//drivers/adapter/uhdf2/uhdf.gni")
18import("../../camera.gni")
19
20module_output_path = "hdf/fuzz_test"
21
22ohos_fuzztest("IPCCameraDeviceRemote_fuzzer") {
23  module_out_path = module_output_path
24  cflags = [
25    "-g",
26    "-O0",
27    "-Wno-unused-variable",
28    "-fno-omit-frame-pointer",
29  ]
30  sources = [
31    "$camera_path/../interfaces/include/server/camera_device_service_stub.cpp",
32    "./IPCCameraDeviceRemote_fuzzer/IPCCameraDeviceRemote_fuzzer.cpp",
33  ]
34
35  include_dirs = [
36    "./include",
37    "$camera_path/test/fuzz/IPCCameraDeviceRemote_fuzzer",
38    "$camera_path/../interfaces/include",
39    "$camera_path/../interfaces/include/client",
40    "$camera_path/../interfaces/include/server",
41    "$camera_path/../interfaces/include/callback/host",
42    "$camera_path/../interfaces/include/callback/device",
43    "$camera_path/../interfaces/include/callback/operator",
44    "$camera_path/include",
45    "$camera_path/hdi_impl",
46    "$camera_path/hdi_impl/include",
47    "$camera_path/hdi_impl/include/camera_host",
48    "$camera_path/hdi_impl/include/camera_device",
49    "$camera_path/hdi_impl/include/stream_operator",
50    "$camera_path/hdi_impl/include/offline_stream_operator",
51    "$camera_path/device_manager/include/",
52    "$camera_path/device_manager/include/mpi",
53    "$camera_path/pipeline_core/utils",
54    "$camera_path/pipeline_core/pipeline_impl/include",
55    "$camera_path/pipeline_core/host_stream/include",
56    "$camera_path/pipeline_core/include",
57    "$camera_path/pipeline_core/ipp/include",
58    "$camera_path/pipeline_core/nodes/include",
59    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
60    "$camera_path/utils/event",
61    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
62  ]
63
64  deps = [
65    "$camera_path/../interfaces/include/client:libcamera_client",
66    "$camera_path/buffer_manager:camera_buffer_manager",
67    "$camera_path/device_manager:camera_device_manager",
68    "$camera_path/hdi_impl:camera_hdi_impl",
69    "$camera_path/pipeline_core:camera_pipeline_core",
70    "$hdf_uhdf_path/config:libhdf_hcs",
71    "$hdf_uhdf_path/hdi:libhdi",
72    "$hdf_uhdf_path/osal:libhdf_utils",
73    "//drivers/adapter/uhdf2/host:libhdf_host",
74    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
75    "//drivers/peripheral/display/hal:hdi_display_gralloc",
76    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
77    "//foundation/graphic/standard:libsurface",
78    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
79    "//utils/native/base:utils",
80  ]
81
82  if (is_standard_system) {
83    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
84  } else {
85    external_deps = [ "hilog:libhilog" ]
86  }
87
88  external_deps += [
89    "ipc:ipc_core",
90    "samgr_L2:samgr_proxy",
91  ]
92
93  install_enable = true
94  subsystem_name = "hdf"
95  part_name = "hdf"
96}
97
98ohos_fuzztest("IPCCameraHostService_fuzzer") {
99  module_out_path = module_output_path
100  cflags = [
101    "-g",
102    "-O0",
103    "-Wno-unused-variable",
104    "-fno-omit-frame-pointer",
105  ]
106  sources = [ "./IPCCameraHostService_fuzzer/IPCCameraHostService_fuzzer.cpp" ]
107
108  include_dirs = [
109    "./include",
110    "$camera_path/test/fuzz/IPCCameraHostService_fuzzer",
111    "$camera_path/../interfaces/include",
112    "$camera_path/../interfaces/include/client",
113    "$camera_path/../interfaces/include/server",
114    "$camera_path/../interfaces/include/callback/host",
115    "$camera_path/../interfaces/include/callback/device",
116    "$camera_path/../interfaces/include/callback/operator",
117    "$camera_path/include",
118    "$camera_path/hdi_impl",
119    "$camera_path/hdi_impl/include",
120    "$camera_path/hdi_impl/include/camera_host",
121    "$camera_path/hdi_impl/include/camera_device",
122    "$camera_path/hdi_impl/include/stream_operator",
123    "$camera_path/hdi_impl/include/offline_stream_operator",
124    "$camera_path/device_manager/include/",
125    "$camera_path/device_manager/include/mpi",
126    "$camera_path/pipeline_core/utils",
127    "$camera_path/pipeline_core/pipeline_impl/include",
128    "$camera_path/pipeline_core/host_stream/include",
129    "$camera_path/pipeline_core/include",
130    "$camera_path/pipeline_core/ipp/include",
131    "$camera_path/pipeline_core/nodes/include",
132    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
133    "$camera_path/utils/event",
134    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
135  ]
136
137  deps = [
138    "$camera_path/../interfaces/include/client:libcamera_client",
139    "$camera_path/buffer_manager:camera_buffer_manager",
140    "$camera_path/device_manager:camera_device_manager",
141    "$camera_path/hdi_impl:camera_hdi_impl",
142    "$camera_path/pipeline_core:camera_pipeline_core",
143    "$hdf_uhdf_path/config:libhdf_hcs",
144    "$hdf_uhdf_path/hdi:libhdi",
145    "$hdf_uhdf_path/osal:libhdf_utils",
146    "//drivers/adapter/uhdf2/host:libhdf_host",
147    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
148    "//drivers/peripheral/display/hal:hdi_display_gralloc",
149    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
150    "//foundation/graphic/standard:libsurface",
151    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
152    "//utils/native/base:utils",
153  ]
154
155  if (is_standard_system) {
156    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
157  } else {
158    external_deps = [ "hilog:libhilog" ]
159  }
160
161  external_deps += [
162    "ipc:ipc_core",
163    "samgr_L2:samgr_proxy",
164  ]
165
166  install_enable = true
167  subsystem_name = "hdf"
168  part_name = "hdf"
169}
170
171ohos_fuzztest("IPCOffline_fuzzer") {
172  module_out_path = module_output_path
173  cflags = [
174    "-g",
175    "-O0",
176    "-Wno-unused-variable",
177    "-fno-omit-frame-pointer",
178  ]
179  sources = [ "./IPCOffline_fuzzer/IPCOffline_fuzzer.cpp" ]
180
181  include_dirs = [
182    "./include",
183    "$camera_path/test/fuzz/IPCOffline_fuzzer",
184    "$camera_path/../interfaces/include",
185    "$camera_path/../interfaces/include/client",
186    "$camera_path/../interfaces/include/server",
187    "$camera_path/../interfaces/include/callback/host",
188    "$camera_path/../interfaces/include/callback/device",
189    "$camera_path/../interfaces/include/callback/operator",
190    "$camera_path/include",
191    "$camera_path/hdi_impl",
192    "$camera_path/hdi_impl/include",
193    "$camera_path/hdi_impl/include/camera_host",
194    "$camera_path/hdi_impl/include/camera_device",
195    "$camera_path/hdi_impl/include/stream_operator",
196    "$camera_path/hdi_impl/include/offline_stream_operator",
197    "$camera_path/device_manager/include/",
198    "$camera_path/device_manager/include/mpi",
199    "$camera_path/pipeline_core/utils",
200    "$camera_path/pipeline_core/pipeline_impl/include",
201    "$camera_path/pipeline_core/host_stream/include",
202    "$camera_path/pipeline_core/include",
203    "$camera_path/pipeline_core/ipp/include",
204    "$camera_path/pipeline_core/nodes/include",
205    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
206    "$camera_path/utils/event",
207    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
208  ]
209
210  deps = [
211    "$camera_path/../interfaces/include/client:libcamera_client",
212    "$camera_path/buffer_manager:camera_buffer_manager",
213    "$camera_path/device_manager:camera_device_manager",
214    "$camera_path/hdi_impl:camera_hdi_impl",
215    "$camera_path/pipeline_core:camera_pipeline_core",
216    "$hdf_uhdf_path/config:libhdf_hcs",
217    "$hdf_uhdf_path/hdi:libhdi",
218    "$hdf_uhdf_path/osal:libhdf_utils",
219    "//drivers/adapter/uhdf2/host:libhdf_host",
220    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
221    "//drivers/peripheral/display/hal:hdi_display_gralloc",
222    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
223    "//foundation/graphic/standard:libsurface",
224    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
225    "//utils/native/base:utils",
226  ]
227
228  if (is_standard_system) {
229    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
230  } else {
231    external_deps = [ "hilog:libhilog" ]
232  }
233
234  external_deps += [
235    "ipc:ipc_core",
236    "samgr_L2:samgr_proxy",
237  ]
238
239  install_enable = true
240  subsystem_name = "hdf"
241  part_name = "hdf"
242}
243
244ohos_fuzztest("IPCStreamOperator_fuzzer") {
245  module_out_path = module_output_path
246  cflags = [
247    "-g",
248    "-O0",
249    "-Wno-unused-variable",
250    "-fno-omit-frame-pointer",
251  ]
252  sources = [ "./IPCStreamOperator_fuzzer/IPCStreamOperator_fuzzer.cpp" ]
253
254  include_dirs = [
255    "./include",
256    "$camera_path/test/fuzz/IPCStreamOperator_fuzzer",
257    "$camera_path/../interfaces/include",
258    "$camera_path/../interfaces/include/client",
259    "$camera_path/../interfaces/include/server",
260    "$camera_path/../interfaces/include/callback/host",
261    "$camera_path/../interfaces/include/callback/device",
262    "$camera_path/../interfaces/include/callback/operator",
263    "$camera_path/include",
264    "$camera_path/hdi_impl",
265    "$camera_path/hdi_impl/include",
266    "$camera_path/hdi_impl/include/camera_host",
267    "$camera_path/hdi_impl/include/camera_device",
268    "$camera_path/hdi_impl/include/stream_operator",
269    "$camera_path/hdi_impl/include/offline_stream_operator",
270    "$camera_path/device_manager/include/",
271    "$camera_path/device_manager/include/mpi",
272    "$camera_path/pipeline_core/utils",
273    "$camera_path/pipeline_core/pipeline_impl/include",
274    "$camera_path/pipeline_core/host_stream/include",
275    "$camera_path/pipeline_core/include",
276    "$camera_path/pipeline_core/ipp/include",
277    "$camera_path/pipeline_core/nodes/include",
278    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
279    "$camera_path/utils/event",
280    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
281  ]
282
283  deps = [
284    "$camera_path/../interfaces/include/client:libcamera_client",
285    "$camera_path/buffer_manager:camera_buffer_manager",
286    "$camera_path/device_manager:camera_device_manager",
287    "$camera_path/hdi_impl:camera_hdi_impl",
288    "$camera_path/pipeline_core:camera_pipeline_core",
289    "$hdf_uhdf_path/config:libhdf_hcs",
290    "$hdf_uhdf_path/hdi:libhdi",
291    "$hdf_uhdf_path/osal:libhdf_utils",
292    "//drivers/adapter/uhdf2/host:libhdf_host",
293    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
294    "//drivers/peripheral/display/hal:hdi_display_gralloc",
295    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
296    "//foundation/graphic/standard:libsurface",
297    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
298    "//utils/native/base:utils",
299  ]
300
301  if (is_standard_system) {
302    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
303  } else {
304    external_deps = [ "hilog:libhilog" ]
305  }
306
307  external_deps += [
308    "ipc:ipc_core",
309    "samgr_L2:samgr_proxy",
310  ]
311
312  install_enable = true
313  subsystem_name = "hdf"
314  part_name = "hdf"
315}
316
317ohos_fuzztest("IPCCameraDeviceCallback_fuzzer") {
318  module_out_path = module_output_path
319  cflags = [
320    "-g",
321    "-O0",
322    "-Wno-unused-variable",
323    "-fno-omit-frame-pointer",
324  ]
325  sources =
326      [ "./IPCCameraDeviceCallback_fuzzer/IPCCameraDeviceCallback_fuzzer.cpp" ]
327
328  include_dirs = [
329    "./include",
330    "$camera_path/test/fuzz/IPCCameraDeviceCallback_fuzzer",
331    "$camera_path/../interfaces/include",
332    "$camera_path/../interfaces/include/client",
333    "$camera_path/../interfaces/include/server",
334    "$camera_path/../interfaces/include/callback/host",
335    "$camera_path/../interfaces/include/callback/device",
336    "$camera_path/../interfaces/include/callback/operator",
337    "$camera_path/include",
338    "$camera_path/hdi_impl",
339    "$camera_path/hdi_impl/include",
340    "$camera_path/hdi_impl/include/camera_host",
341    "$camera_path/hdi_impl/include/camera_device",
342    "$camera_path/hdi_impl/include/stream_operator",
343    "$camera_path/hdi_impl/include/offline_stream_operator",
344    "$camera_path/device_manager/include/",
345    "$camera_path/device_manager/include/mpi",
346    "$camera_path/pipeline_core/utils",
347    "$camera_path/pipeline_core/pipeline_impl/include",
348    "$camera_path/pipeline_core/host_stream/include",
349    "$camera_path/pipeline_core/include",
350    "$camera_path/pipeline_core/ipp/include",
351    "$camera_path/pipeline_core/nodes/include",
352    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
353    "$camera_path/utils/event",
354    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
355  ]
356
357  deps = [
358    "$camera_path/../interfaces/include/client:libcamera_client",
359    "$camera_path/buffer_manager:camera_buffer_manager",
360    "$camera_path/device_manager:camera_device_manager",
361    "$camera_path/hdi_impl:camera_hdi_impl",
362    "$camera_path/pipeline_core:camera_pipeline_core",
363    "$hdf_uhdf_path/config:libhdf_hcs",
364    "$hdf_uhdf_path/hdi:libhdi",
365    "$hdf_uhdf_path/osal:libhdf_utils",
366    "//drivers/adapter/uhdf2/host:libhdf_host",
367    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
368    "//drivers/peripheral/display/hal:hdi_display_gralloc",
369    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
370    "//foundation/graphic/standard:libsurface",
371    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
372    "//utils/native/base:utils",
373  ]
374
375  if (is_standard_system) {
376    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
377  } else {
378    external_deps = [ "hilog:libhilog" ]
379  }
380
381  external_deps += [
382    "ipc:ipc_core",
383    "samgr_L2:samgr_proxy",
384  ]
385
386  install_enable = true
387  subsystem_name = "hdf"
388  part_name = "hdf"
389}
390
391ohos_fuzztest("IPCCameraHostCallback_fuzzer") {
392  module_out_path = module_output_path
393  cflags = [
394    "-g",
395    "-O0",
396    "-Wno-unused-variable",
397    "-fno-omit-frame-pointer",
398  ]
399  sources =
400      [ "./IPCCameraHostCallback_fuzzer/IPCCameraHostCallback_fuzzer.cpp" ]
401
402  include_dirs = [
403    "./include",
404    "$camera_path/test/fuzz/IPCCameraHostCallback_fuzzer",
405    "$camera_path/../interfaces/include",
406    "$camera_path/../interfaces/include/client",
407    "$camera_path/../interfaces/include/server",
408    "$camera_path/../interfaces/include/callback/host",
409    "$camera_path/../interfaces/include/callback/device",
410    "$camera_path/../interfaces/include/callback/operator",
411    "$camera_path/include",
412    "$camera_path/hdi_impl",
413    "$camera_path/hdi_impl/include",
414    "$camera_path/hdi_impl/include/camera_host",
415    "$camera_path/hdi_impl/include/camera_device",
416    "$camera_path/hdi_impl/include/stream_operator",
417    "$camera_path/hdi_impl/include/offline_stream_operator",
418    "$camera_path/device_manager/include/",
419    "$camera_path/device_manager/include/mpi",
420    "$camera_path/pipeline_core/utils",
421    "$camera_path/pipeline_core/pipeline_impl/include",
422    "$camera_path/pipeline_core/host_stream/include",
423    "$camera_path/pipeline_core/include",
424    "$camera_path/pipeline_core/ipp/include",
425    "$camera_path/pipeline_core/nodes/include",
426    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
427    "$camera_path/utils/event",
428    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
429  ]
430
431  deps = [
432    "$camera_path/../interfaces/include/client:libcamera_client",
433    "$camera_path/buffer_manager:camera_buffer_manager",
434    "$camera_path/device_manager:camera_device_manager",
435    "$camera_path/hdi_impl:camera_hdi_impl",
436    "$camera_path/pipeline_core:camera_pipeline_core",
437    "$hdf_uhdf_path/config:libhdf_hcs",
438    "$hdf_uhdf_path/hdi:libhdi",
439    "$hdf_uhdf_path/osal:libhdf_utils",
440    "//drivers/adapter/uhdf2/host:libhdf_host",
441    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
442    "//drivers/peripheral/display/hal:hdi_display_gralloc",
443    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
444    "//foundation/graphic/standard:libsurface",
445    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
446    "//utils/native/base:utils",
447  ]
448
449  if (is_standard_system) {
450    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
451  } else {
452    external_deps = [ "hilog:libhilog" ]
453  }
454
455  external_deps += [
456    "ipc:ipc_core",
457    "samgr_L2:samgr_proxy",
458  ]
459
460  install_enable = true
461  subsystem_name = "hdf"
462  part_name = "hdf"
463}
464
465ohos_fuzztest("IPCStreamOperatorCallback_fuzzer") {
466  module_out_path = module_output_path
467  cflags = [
468    "-g",
469    "-O0",
470    "-Wno-unused-variable",
471    "-fno-omit-frame-pointer",
472  ]
473  sources = [
474    "./IPCStreamOperatorCallback_fuzzer/IPCStreamOperatorCallback_fuzzer.cpp",
475  ]
476
477  include_dirs = [
478    "./include",
479    "$camera_path/test/fuzz/IPCStreamOperatorCallback_fuzzer",
480    "$camera_path/../interfaces/include",
481    "$camera_path/../interfaces/include/client",
482    "$camera_path/../interfaces/include/server",
483    "$camera_path/../interfaces/include/callback/host",
484    "$camera_path/../interfaces/include/callback/device",
485    "$camera_path/../interfaces/include/callback/operator",
486    "$camera_path/include",
487    "$camera_path/hdi_impl",
488    "$camera_path/hdi_impl/include",
489    "$camera_path/hdi_impl/include/camera_host",
490    "$camera_path/hdi_impl/include/camera_device",
491    "$camera_path/hdi_impl/include/stream_operator",
492    "$camera_path/hdi_impl/include/offline_stream_operator",
493    "$camera_path/device_manager/include/",
494    "$camera_path/device_manager/include/mpi",
495    "$camera_path/pipeline_core/utils",
496    "$camera_path/pipeline_core/pipeline_impl/include",
497    "$camera_path/pipeline_core/host_stream/include",
498    "$camera_path/pipeline_core/include",
499    "$camera_path/pipeline_core/ipp/include",
500    "$camera_path/pipeline_core/nodes/include",
501    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
502    "$camera_path/utils/event",
503    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include",
504  ]
505
506  deps = [
507    "$camera_path/../interfaces/include/client:libcamera_client",
508    "$camera_path/buffer_manager:camera_buffer_manager",
509    "$camera_path/device_manager:camera_device_manager",
510    "$camera_path/hdi_impl:camera_hdi_impl",
511    "$camera_path/pipeline_core:camera_pipeline_core",
512    "$hdf_uhdf_path/config:libhdf_hcs",
513    "$hdf_uhdf_path/hdi:libhdi",
514    "$hdf_uhdf_path/osal:libhdf_utils",
515    "//drivers/adapter/uhdf2/host:libhdf_host",
516    "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter",
517    "//drivers/peripheral/display/hal:hdi_display_gralloc",
518    "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core",
519    "//foundation/graphic/standard:libsurface",
520    "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata",
521    "//utils/native/base:utils",
522  ]
523
524  if (is_standard_system) {
525    external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
526  } else {
527    external_deps = [ "hilog:libhilog" ]
528  }
529
530  external_deps += [
531    "ipc:ipc_core",
532    "samgr_L2:samgr_proxy",
533  ]
534
535  install_enable = true
536  subsystem_name = "hdf"
537  part_name = "hdf"
538}
539
540group("fuzztest") {
541  testonly = true
542  deps = [
543    ":IPCCameraDeviceCallback_fuzzer",
544    ":IPCCameraDeviceRemote_fuzzer",  #引用测试套
545    ":IPCCameraHostCallback_fuzzer",
546    ":IPCCameraHostService_fuzzer",
547    ":IPCOffline_fuzzer",
548    ":IPCStreamOperatorCallback_fuzzer",
549    ":IPCStreamOperator_fuzzer",
550  ]
551}
552