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