From 0b0d93dbe432b6de4fd8df9a84e2ba3f2cc5b07e Mon Sep 17 00:00:00 2001 From: Florin Malita Date: Fri, 4 May 2018 15:01:03 -0400 Subject: Fuzz should observe the optional Skottie flag. Change-Id: I41d79442559bc020ac786f668534f5a2990cc96f Reviewed-on: https://skia-review.googlesource.com/126121 Auto-Submit: Florin Malita Reviewed-by: Kevin Lubick Commit-Queue: Florin Malita --- BUILD.gn | 5 ++++- fuzz/fuzz.cpp | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index ec45729ac5..4ce762529f 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -1843,7 +1843,6 @@ if (skia_enable_tools) { "fuzz/oss_fuzz/FuzzPathDeserialize.cpp", "fuzz/oss_fuzz/FuzzRegionDeserialize.cpp", "fuzz/oss_fuzz/FuzzRegionSetPath.cpp", - "fuzz/oss_fuzz/FuzzSkottieJSON.cpp", "fuzz/oss_fuzz/FuzzTextBlobDeserialize.cpp", "tools/UrlDataManager.cpp", "tools/debugger/SkDebugCanvas.cpp", @@ -1859,6 +1858,10 @@ if (skia_enable_tools) { "//third_party/jsoncpp", "//third_party/libpng", ] + + if (skia_enable_skottie) { + sources += [ "fuzz/oss_fuzz/FuzzSkottieJSON.cpp" ] + } } test_app("pathops_unittest") { diff --git a/fuzz/fuzz.cpp b/fuzz/fuzz.cpp index c2a8ca0dc3..9857e80178 100644 --- a/fuzz/fuzz.cpp +++ b/fuzz/fuzz.cpp @@ -18,7 +18,6 @@ #include "SkPaint.h" #include "SkPath.h" #include "SkPicture.h" -#include "Skottie.h" #include "SkPipe.h" #include "SkReadBuffer.h" #include "SkStream.h" @@ -29,6 +28,10 @@ #include "SkSLCompiler.h" #endif +#if defined(SK_ENABLE_SKOTTIE) +#include "Skottie.h" +#endif + #include #include #include @@ -76,7 +79,6 @@ static void fuzz_img(sk_sp, uint8_t, uint8_t); static void fuzz_path_deserialize(sk_sp); static void fuzz_region_deserialize(sk_sp); static void fuzz_region_set_path(sk_sp); -static void fuzz_skottie_json(sk_sp); static void fuzz_skp(sk_sp); static void fuzz_skpipe(sk_sp); static void fuzz_textblob_deserialize(sk_sp); @@ -87,6 +89,10 @@ static void print_api_names(); static void fuzz_sksl2glsl(sk_sp); #endif +#if defined(SK_ENABLE_SKOTTIE) +static void fuzz_skottie_json(sk_sp); +#endif + int main(int argc, char** argv) { SkCommandLineFlags::SetUsage("Usage: fuzz -t -b [-n api-to-fuzz]\n" " fuzz -b \n" @@ -181,10 +187,12 @@ static int fuzz_file(SkString path, SkString type) { fuzz_skpipe(bytes); return 0; } +#if defined(SK_ENABLE_SKOTTIE) if (type.equals("skottie_json")) { fuzz_skottie_json(bytes); return 0; } +#endif if (type.equals("skp")) { fuzz_skp(bytes); return 0; @@ -264,12 +272,14 @@ static SkString try_auto_detect(SkString path, SkString* name) { return SkString(""); } +#if defined(SK_ENABLE_SKOTTIE) void FuzzSkottieJSON(sk_sp bytes); static void fuzz_skottie_json(sk_sp bytes){ FuzzSkottieJSON(bytes); SkDebugf("[terminated] Done animating!\n"); } +#endif // This adds up the first 1024 bytes and returns it as an 8 bit integer. This allows afl-fuzz to // deterministically excercise different paths, or *options* (such as different scaling sizes or -- cgit v1.2.3