# Copyright 2016 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//testing/libfuzzer/fuzzer_test.gni") source_set("model") { sources = [ "crash_helper.h", "crash_helper.mm", "crash_keys_helper.h", "crash_keys_helper.mm", "crash_loop_detection_util.h", "crash_loop_detection_util.mm", "crash_report_multi_parameter.h", "crash_report_multi_parameter.mm", "crash_report_user_application_state.h", "crash_report_user_application_state.mm", "crash_upload_list.cc", "crash_upload_list.h", "features.cc", "features.h", ] deps = [ "//base", "//build:branding_buildflags", "//components/breadcrumbs/core", "//components/breadcrumbs/core:status", "//components/crash/core/app", "//components/crash/core/browser", "//components/crash/core/common", "//components/gwp_asan/crash_handler", "//components/previous_session_info", "//components/upload_list", "//ios/chrome/app:tests_hook", "//ios/chrome/browser/shared/model/application_context", "//ios/chrome/browser/shared/model/paths", "//ios/chrome/common", "//ios/chrome/common/app_group", "//ios/chrome/common/crash_report", "//ios/web", ] } source_set("model_internal") { sources = [ "crash_report_helper.h", "crash_report_helper.mm", "crash_reporter_url_observer.h", "crash_reporter_url_observer.mm", ] deps = [ ":model", "//base", "//components/crash/core/common:crash_key", "//components/previous_session_info", "//ios/chrome/browser/shared/model/profile", "//ios/chrome/browser/shared/model/utils", "//ios/chrome/browser/shared/model/web_state_list", "//ios/web/public", "//url", ] } source_set("unit_tests") { testonly = true sources = [ "crash_helper_unittest.mm", "crash_loop_detection_util_unittest.mm", "crash_reporter_breadcrumb_observer_unittest.mm", "crash_reporter_url_observer_unittest.mm", ] deps = [ ":model", ":model_internal", "//base", "//base/test:test_support", "//components/breadcrumbs/core", "//components/crash/core/common:reporter_running_ios", "//components/previous_session_info", "//ios/chrome/browser/crash_report/model/breadcrumbs", "//ios/chrome/browser/shared/model/browser/test:test_support", "//ios/chrome/browser/shared/model/profile/test", "//ios/chrome/browser/shared/model/web_state_list", "//ios/chrome/browser/shared/model/web_state_list/test:test_support", "//ios/chrome/common/crash_report", "//ios/testing:block_swizzler", "//ios/web/public/test", "//testing/gmock", "//testing/gtest", "//third_party/crashpad/crashpad/client:common", "//third_party/ocmock", ] } group("crashpad_fuzzer_tests") { testonly = true deps = [ ":crashpad_intermediate_dump_fuzzer", ":crashpad_process_snapshot_intermediate_dump_fuzzer", ] } fuzzer_test("crashpad_intermediate_dump_fuzzer") { additional_configs = [ "//testing/libfuzzer:build_for_ios_clusterfuzz_job" ] sources = [ "crashpad_intermediate_dump_fuzzer.cc" ] deps = [ "//base", "//third_party/crashpad/crashpad/util", ] } fuzzer_test("crashpad_process_snapshot_intermediate_dump_fuzzer") { additional_configs = [ "//testing/libfuzzer:build_for_ios_clusterfuzz_job" ] sources = [ "crashpad_process_snapshot_intermediate_dump_fuzzer.cc" ] deps = [ "//base", "//third_party/crashpad/crashpad/snapshot", ] seed_corpuses = [ "seed_corpuses" ] }