blob: d28c8935cd982b5c7090d35062a3cbb526280755 [file] [log] [blame]
# Copyright (c) 2018 The Chromium 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("//testing/libfuzzer/fuzzer_test.gni")
group("fuzzers") {
}
# Build Skia fuzzers from OSS-Fuzz on Windows since Windows is not supported by
# OSS-Fuzz.
if (is_win && use_libfuzzer) {
source_set("skia_fuzzer_sources") {
testonly = true
sources = [
"//skia/tools/fuzzers/fuzzer_environment.cc",
"//third_party/skia/fuzz/Fuzz.cpp",
"//third_party/skia/fuzz/FuzzCommon.cpp",
]
# Use public_deps and public_configs so each fuzzer_test doesn't need to
# explicitly depend on "//skia" and "//skia:skia_library_config".
public_deps = [
"//skia",
]
public_configs = [ "//skia:skia_library_config" ]
deps = [
"//base/test:test_support",
]
}
static_library("skia_encoder_fuzzer_lib") {
sources = [
"//third_party/skia/fuzz/FuzzEncoders.cpp",
]
configs += [ "//skia:skia_library_config" ]
deps = [
"//skia",
]
}
# TODO(metzman): Enable the other fuzzers that cannot yet build in Chromium.
fuzzer_test("skia_region_deserialize_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzRegionDeserialize.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_image_filter_deserialize_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzImageFilterDeserialize.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_region_set_path_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzRegionSetPath.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_textblob_deserialize_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzTextBlobDeserialize.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_path_deserialize_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzPathDeserialize.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_image_decode_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzImage.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_png_encoder_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzPNGEncoder.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_encoder_fuzzer_lib",
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_jpeg_encoder_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzJPEGEncoder.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_encoder_fuzzer_lib",
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_webp_encoder_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzWEBPEncoder.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_encoder_fuzzer_lib",
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_skjson_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzJSON.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
fuzzer_test("skia_image_decode_incremental_fuzzer") {
sources = [
"//third_party/skia/fuzz/oss_fuzz/FuzzIncrementalImage.cpp",
]
defines = [ "IS_FUZZING_WITH_LIBFUZZER" ]
deps = [
":skia_fuzzer_sources",
]
}
}