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