blob: e7ba8ec5562e433277c22a52394bc0ca28d1a65b [file] [log] [blame] [edit]
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/fuzzing/fuzzer.gni")
group("fuzzers") {
testonly = true
deps = [ ":tests" ]
}
# This target is the same as the one above; whether fuzzers or unit tests are built depends on which
# toolchain variant is active. Typically, you should include fuzzers in your package's tests.
group("tests") {
testonly = true
deps = [
":fuzzing-examples",
"rust:toy-example",
]
}
fuzzers_package("fuzzing-examples") {
# Packages can have non-default names.
package_name = "example-fuzzers"
# `fuzzers` (without a language prefix) are folded into `cpp_fuzzers` below.
fuzzers = [ "cpp:crash_fuzzer" ]
# Fuzzers are defined for each supported language
cpp_fuzzers = [
"cpp:overflow_fuzzer",
"cpp:corpus_fuzzer",
"cpp:corpus_fuzzer_without_corpus",
"cpp:dictionary_fuzzer",
"cpp:dictionary_fuzzer_without_dictionary",
"cpp:fuzzed_data_provider_fuzzer",
"cpp:noop_fuzzer",
"cpp:out_of_memory_fuzzer",
"fidl:echo-fuzzer",
]
# A fuzzers package can have fuzzers for multiple languages.
rust_fuzzers = [
"rust:toy_example_arbitrary",
"rust:toy_example_raw_bytes",
"rust:toy_example_with_main",
]
deps = [ "zx" ]
# TODO(fxbug.dev/91051): Go fuzzer tests flake.
# go_fuzzers = [ "go:basic_fuzzer" ]
}