| # Copyright 2020 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("//build/config/freetype/freetype.gni") |
| import("//testing/libfuzzer/fuzzer_test.gni") |
| |
| source_set("freetype-testing") { |
| } |
| |
| config("build_truetype_render_fuzzer") { |
| include_dirs = [ "src/fuzzing/src/" ] |
| defines = [ |
| "FUZZ_TARGET_HEADER_PATH=\"targets/font-drivers/truetype-render.h\"", |
| "FUZZ_TARGET_CLASS_NAME=freetype::TrueTypeRenderFuzzTarget", |
| ] |
| } |
| |
| fuzzer_test("freetype_truetype_render_fuzzer") { |
| additional_configs = [ ":build_truetype_render_fuzzer" ] |
| _src = "src/fuzzing/src" |
| sources = [ |
| "$_src/fuzzers/template.cpp", |
| "$_src/iterators/faceloaditerator.cpp", |
| "$_src/iterators/faceprepiterator-bitmaps.cpp", |
| "$_src/iterators/faceprepiterator-multiplemasters.cpp", |
| "$_src/iterators/faceprepiterator-outlines.cpp", |
| "$_src/iterators/faceprepiterator.cpp", |
| "$_src/iterators/glyphloaditerator-naive.cpp", |
| "$_src/iterators/glyphloaditerator.cpp", |
| "$_src/iterators/glyphrenderiterator-allmodes.cpp", |
| "$_src/iterators/glyphrenderiterator.cpp", |
| "$_src/targets/FaceFuzzTarget.cpp", |
| "$_src/targets/FuzzTarget.cpp", |
| "$_src/targets/font-drivers/truetype-render.cpp", |
| "$_src/utils/faceloader.cpp", |
| "$_src/utils/utils.cpp", |
| "$_src/visitors/facevisitor-autohinter.cpp", |
| "$_src/visitors/facevisitor-loadglyphs-bitmaps.cpp", |
| "$_src/visitors/facevisitor-loadglyphs-outlines.cpp", |
| "$_src/visitors/facevisitor-loadglyphs.cpp", |
| "$_src/visitors/facevisitor-renderglyphs.cpp", |
| "$_src/visitors/facevisitor-subglyphs.cpp", |
| ] |
| deps = [ "//third_party:freetype_harfbuzz" ] |
| seed_corpus = "src/fuzzing/corpora/truetype-render" |
| } |