diff options
author | caryclark <caryclark@google.com> | 2014-09-29 06:58:41 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-29 06:58:41 -0700 |
commit | c06d9a7a7e7fdd7002e6f7e41e78d90cadfb6094 (patch) | |
tree | 9edaa02cfa3d8d99a2a9132a4da5ba8817d59975 /tests/PathOpsOpTest.cpp | |
parent | 05c4a4322e7d4f3417b7df33825bab8603d52051 (diff) |
fail on extremely large coincident curves
TBR=
BUG=418381
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/607913007
Diffstat (limited to 'tests/PathOpsOpTest.cpp')
-rw-r--r-- | tests/PathOpsOpTest.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/PathOpsOpTest.cpp b/tests/PathOpsOpTest.cpp index 4977b28c30..f0fea767fe 100644 --- a/tests/PathOpsOpTest.cpp +++ b/tests/PathOpsOpTest.cpp @@ -3899,7 +3899,34 @@ path.close(); testPathFailOp(reporter, path1, path2, (SkPathOp) 2, filename); } +static void fuzz714(skiatest::Reporter* reporter, const char* filename) { + SkPath path; + path.setFillType((SkPath::FillType) 1); +path.moveTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000)); +path.lineTo(SkBits2Float(0x43480000), SkBits2Float(0x43520000)); +path.lineTo(SkBits2Float(0x42200000), SkBits2Float(0x42c80000)); +path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42c80000)); +path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43520000)); +path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000)); +path.close(); + + SkPath path1(path); + path.reset(); + path.setFillType((SkPath::FillType) 0); +path.moveTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000)); +path.lineTo(SkBits2Float(0x435c0000), SkBits2Float(0x43660000)); +path.lineTo(SkBits2Float(0x42700000), SkBits2Float(0x42f00000)); +path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42f00000)); +path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43660000)); +path.lineTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000)); +path.close(); + + SkPath path2(path); + testPathFailOp(reporter, path1, path2, (SkPathOp) 2, filename); +} + static struct TestDesc failTests[] = { + TEST(fuzz714), TEST(fuzz487a), TEST(fuzz487b), TEST(fuzz433b), |