Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Side by Side Diff: tests/PathOpsFuzz763Test.cpp

Issue 1029993002: Revert of pathops version two (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsLineIntersectionTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 #define TEST(name) { name, #name } 10 #define TEST(name) { name, #name }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x41c80000), SkBits2Float(0x0 0000000), SkBits2Float(0x41c80000)); 114 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x41c80000), SkBits2Float(0x0 0000000), SkBits2Float(0x41c80000));
115 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x41c80000), SkBits2Float(0x4 0b504f3), SkBits2Float(0x41dabec3)); 115 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x41c80000), SkBits2Float(0x4 0b504f3), SkBits2Float(0x41dabec3));
116 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); 116 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
117 path.close(); 117 path.close();
118 118
119 SkPath path2(path); 119 SkPath path2(path);
120 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 120 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
121 } 121 }
122 122
123 static void fuzz763_378(skiatest::Reporter* reporter, const char* filename) { 123 static void fuzz763_378(skiatest::Reporter* reporter, const char* filename) {
124 #ifdef SK_BUILD_FOR_ANDROID
125 if (!FLAGS_runFail) {
126 return; // fails on nexus 9 in release, possibly related to fus ed multiply-add
127 }
128 #endif
124 SkPath path; 129 SkPath path;
125 path.setFillType((SkPath::FillType) 1); 130 path.setFillType((SkPath::FillType) 1);
126 path.moveTo(SkBits2Float(0x41013776), SkBits2Float(0xc25007a8)); 131 path.moveTo(SkBits2Float(0x41013776), SkBits2Float(0xc25007a8));
127 path.quadTo(SkBits2Float(0x412f219e), SkBits2Float(0xc256a86f), SkBits2Float(0x4 1625842), SkBits2Float(0xc2533a60)); 132 path.quadTo(SkBits2Float(0x412f219e), SkBits2Float(0xc256a86f), SkBits2Float(0x4 1625842), SkBits2Float(0xc2533a60));
128 path.quadTo(SkBits2Float(0x418ac776), SkBits2Float(0xc24fcc52), SkBits2Float(0x4 1980904), SkBits2Float(0xc24451c8)); 133 path.quadTo(SkBits2Float(0x418ac776), SkBits2Float(0xc24fcc52), SkBits2Float(0x4 1980904), SkBits2Float(0xc24451c8));
129 path.quadTo(SkBits2Float(0x41a54a92), SkBits2Float(0xc238d73e), SkBits2Float(0x4 19e6e72), SkBits2Float(0xc22c0994)); 134 path.quadTo(SkBits2Float(0x41a54a92), SkBits2Float(0xc238d73e), SkBits2Float(0x4 19e6e72), SkBits2Float(0xc22c0994));
130 path.quadTo(SkBits2Float(0x41979256), SkBits2Float(0xc21f3bea), SkBits2Float(0x4 1809d42), SkBits2Float(0xc2189b23)); 135 path.quadTo(SkBits2Float(0x41979256), SkBits2Float(0xc21f3bea), SkBits2Float(0x4 1809d42), SkBits2Float(0xc2189b23));
131 path.quadTo(SkBits2Float(0x4153505c), SkBits2Float(0xc211fa5c), SkBits2Float(0x4 12019b5), SkBits2Float(0xc215686b)); 136 path.quadTo(SkBits2Float(0x4153505c), SkBits2Float(0xc211fa5c), SkBits2Float(0x4 12019b5), SkBits2Float(0xc215686b));
132 path.quadTo(SkBits2Float(0x40d9c61e), SkBits2Float(0xc218d67a), SkBits2Float(0x4 0a4bfe8), SkBits2Float(0xc2245104)); 137 path.quadTo(SkBits2Float(0x40d9c61e), SkBits2Float(0xc218d67a), SkBits2Float(0x4 0a4bfe8), SkBits2Float(0xc2245104));
133 path.quadTo(SkBits2Float(0x405f7360), SkBits2Float(0xc22fcb8e), SkBits2Float(0x4 08b2a24), SkBits2Float(0xc23c9937)); 138 path.quadTo(SkBits2Float(0x405f7360), SkBits2Float(0xc22fcb8e), SkBits2Float(0x4 08b2a24), SkBits2Float(0xc23c9937));
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 path.quadTo(SkBits2Float(0xc218d5ba), SkBits2Float(0x40d9e7cc), SkBits2Float(0xc 2156751), SkBits2Float(0x41202a2d)); 212 path.quadTo(SkBits2Float(0xc218d5ba), SkBits2Float(0x40d9e7cc), SkBits2Float(0xc 2156751), SkBits2Float(0x41202a2d));
208 path.quadTo(SkBits2Float(0xc211f8e8), SkBits2Float(0x41536071), SkBits2Float(0xc 218995e), SkBits2Float(0x4180a5aa)); 213 path.quadTo(SkBits2Float(0xc211f8e8), SkBits2Float(0x41536071), SkBits2Float(0xc 218995e), SkBits2Float(0x4180a5aa));
209 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee)); 214 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee));
210 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4)); 215 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4));
211 path.close(); 216 path.close();
212 SkPath path2(path); 217 SkPath path2(path);
213 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 218 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
214 } 219 }
215 220
216 static void fuzz763_378b(skiatest::Reporter* reporter, const char* filename) { 221 static void fuzz763_378b(skiatest::Reporter* reporter, const char* filename) {
222 #ifdef SK_BUILD_FOR_ANDROID
223 if (!FLAGS_runFail) {
224 return; // fails on nexus 9 in release, possibly related to fus ed multiply-add
225 }
226 #endif
217 SkPath path; 227 SkPath path;
218 path.setFillType((SkPath::FillType) 1); 228 path.setFillType((SkPath::FillType) 1);
219 path.moveTo(-47.1494f, 4.35143f); 229 path.moveTo(-47.1494f, 4.35143f);
220 path.quadTo(-39.8075f, 18.9486f, -43.0083f, 19.8062f); 230 path.quadTo(-39.8075f, 18.9486f, -43.0083f, 19.8062f);
221 path.quadTo(-50.35f, 5.21042f, -52.0068f, 8.08022f); 231 path.quadTo(-50.35f, 5.21042f, -52.0068f, 8.08022f);
222 path.quadTo(-53.6632f, 10.9494f, -52.8062f, 14.1494f); 232 path.quadTo(-53.6632f, 10.9494f, -52.8062f, 14.1494f);
223 path.quadTo(-53.6639f, 10.9486f, -52.007f, 8.07884f); 233 path.quadTo(-53.6639f, 10.9486f, -52.007f, 8.07884f);
224 path.quadTo(-50.3502f, 5.20908f, -47.1494f, 4.35143f); 234 path.quadTo(-50.3502f, 5.20908f, -47.1494f, 4.35143f);
225 path.close(); 235 path.close();
226 SkPath path1(path); 236 SkPath path1(path);
227 path.reset(); 237 path.reset();
228 path.setFillType((SkPath::FillType) 0); 238 path.setFillType((SkPath::FillType) 0);
229 path.moveTo(SkBits2Float(0xc2444fb0), SkBits2Float(0x419813d4)); 239 path.moveTo(SkBits2Float(0xc2444fb0), SkBits2Float(0x419813d4));
230 path.quadTo(SkBits2Float(0xc24fca68), SkBits2Float(0x418ad2e8), SkBits2Float(0xc 25338d1), SkBits2Float(0x41626f8c)); 240 path.quadTo(SkBits2Float(0xc24fca68), SkBits2Float(0x418ad2e8), SkBits2Float(0xc 25338d1), SkBits2Float(0x41626f8c));
231 path.quadTo(SkBits2Float(0xc256a73a), SkBits2Float(0x412f3944), SkBits2Float(0xc 25006c4), SkBits2Float(0x41014e62)); 241 path.quadTo(SkBits2Float(0xc256a73a), SkBits2Float(0x412f3944), SkBits2Float(0xc 25006c4), SkBits2Float(0x41014e62));
232 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee)); 242 path.quadTo(SkBits2Float(0xc21f39d4), SkBits2Float(0x41979b1c), SkBits2Float(0xc 22c0765), SkBits2Float(0x419e77ee));
233 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4)); 243 path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc 2444fb0), SkBits2Float(0x419813d4));
234 path.close(); 244 path.close();
235 SkPath path2(path); 245 SkPath path2(path);
236 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 246 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
237 } 247 }
238 248
239 static void fuzz763_378c(skiatest::Reporter* reporter, const char* filename) { 249 static void fuzz763_378c(skiatest::Reporter* reporter, const char* filename) {
240 SkPath path; 250 SkPath path;
241 path.setFillType((SkPath::FillType) 1); 251 path.setFillType((SkPath::FillType) 1);
242 path.moveTo(-47.1494f, 4.35143f); 252 path.moveTo(-47.1494f, 4.35143f);
243 path.quadTo(-46.208f, 20.6664f, -43.0072f, 19.8086f); 253 path.quadTo(-46.208f, 20.6664f, -43.0072f, 19.8086f);
244 path.quadTo(-39.8065f, 18.9507f, -38.1498f, 16.0809f); 254 path.quadTo(-39.8065f, 18.9507f, -38.1498f, 16.0809f);
245 path.quadTo(-36.4931f, 13.211f, -37.3509f, 10.0103f); 255 path.quadTo(-36.4931f, 13.211f, -37.3509f, 10.0103f);
246 path.quadTo(-37.351f, 10.0098f, -37.3512f, 10.0093f); 256 path.quadTo(-37.351f, 10.0098f, -37.3512f, 10.0093f);
247 path.close(); 257 path.close();
248 SkPath path1(path); 258 SkPath path1(path);
249 path.reset(); 259 path.reset();
250 path.setFillType((SkPath::FillType) 0); 260 path.setFillType((SkPath::FillType) 0);
251 path.moveTo(-49.0778f, 19.0097f); 261 path.moveTo(-49.0778f, 19.0097f);
252 path.quadTo(-38.2087f, 6.80955f, -37.3509f, 10.0103f); 262 path.quadTo(-38.2087f, 6.80955f, -37.3509f, 10.0103f);
253 path.quadTo(-36.4931f, 13.211f, -38.1498f, 16.0809f); 263 path.quadTo(-36.4931f, 13.211f, -38.1498f, 16.0809f);
254 path.quadTo(-39.8065f, 18.9507f, -43.0072f, 19.8086f); 264 path.quadTo(-39.8065f, 18.9507f, -43.0072f, 19.8086f);
255 path.close(); 265 path.close();
256 SkPath path2(path); 266 SkPath path2(path);
257 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 267 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
258 } 268 }
259 269
260 static void fuzz763_378d(skiatest::Reporter* reporter, const char* filename) { 270 static void fuzz763_378d(skiatest::Reporter* reporter, const char* filename) {
261 SkPath path; 271 SkPath path;
262 path.setFillType((SkPath::FillType) 1); 272 path.setFillType((SkPath::FillType) 1);
263 path.moveTo(-47.1494f, 4.35143f); 273 path.moveTo(-47.1494f, 4.35143f);
264 path.quadTo(-38.2091f, 6.80749f, -37.3514f, 10.0083f); // required 274 path.quadTo(-38.2091f, 6.80749f, -37.3514f, 10.0083f); // required
265 path.quadTo(-36.4938f, 13.2091f, -38.1506f, 16.0788f); // required 275 path.quadTo(-36.4938f, 13.2091f, -38.1506f, 16.0788f); // required
266 path.close(); 276 path.close();
267 SkPath path1(path); 277 SkPath path1(path);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296)); 498 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296));
489 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660)); 499 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660));
490 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c)); 500 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c));
491 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125)); 501 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
492 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b)); 502 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
493 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de)); 503 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
494 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb)); 504 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
495 path.close(); 505 path.close();
496 506
497 SkPath path2(path); 507 SkPath path2(path);
498 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 508 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
499 } 509 }
500 510
501 static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) { 511 static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) {
502 SkPath path; 512 SkPath path;
503 path.setFillType((SkPath::FillType) 1); 513 path.setFillType((SkPath::FillType) 1);
504 path.moveTo(SkBits2Float(0x40dce520), SkBits2Float(0xc250b45c)); 514 path.moveTo(SkBits2Float(0x40dce520), SkBits2Float(0xc250b45c));
505 path.quadTo(SkBits2Float(0x411bc0ec), SkBits2Float(0xc25796e0), SkBits2Float(0x4 14f4352), SkBits2Float(0xc25472d6)); 515 path.quadTo(SkBits2Float(0x411bc0ec), SkBits2Float(0xc25796e0), SkBits2Float(0x4 14f4352), SkBits2Float(0xc25472d6));
506 path.quadTo(SkBits2Float(0x418162dd), SkBits2Float(0xc2514ece), SkBits2Float(0x4 18f27e4), SkBits2Float(0xc245fb37)); 516 path.quadTo(SkBits2Float(0x418162dd), SkBits2Float(0xc2514ece), SkBits2Float(0x4 18f27e4), SkBits2Float(0xc245fb37));
507 path.quadTo(SkBits2Float(0x419cecea), SkBits2Float(0xc23aa7a0), SkBits2Float(0x4 196a4d8), SkBits2Float(0xc22dc706)); 517 path.quadTo(SkBits2Float(0x419cecea), SkBits2Float(0xc23aa7a0), SkBits2Float(0x4 196a4d8), SkBits2Float(0xc22dc706));
508 path.quadTo(SkBits2Float(0x41905cc8), SkBits2Float(0xc220e66c), SkBits2Float(0x4 1736b34), SkBits2Float(0xc21a03e9)); 518 path.quadTo(SkBits2Float(0x41905cc8), SkBits2Float(0xc220e66c), SkBits2Float(0x4 1736b34), SkBits2Float(0xc21a03e9));
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c)); 588 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c));
579 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390)); 589 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390));
580 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a)); 590 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a));
581 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d)); 591 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
582 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b)); 592 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
583 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde)); 593 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
584 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e)); 594 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
585 path.close(); 595 path.close();
586 596
587 SkPath path2(path); 597 SkPath path2(path);
588 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 598 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
589 } 599 }
590 600
591 static void fuzz763_8712a(skiatest::Reporter* reporter, const char* filename) { 601 static void fuzz763_8712a(skiatest::Reporter* reporter, const char* filename) {
592 SkPath path; 602 SkPath path;
593 path.setFillType((SkPath::FillType) 1); 603 path.setFillType((SkPath::FillType) 1);
594 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); 604 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
595 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); 605 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
596 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); 606 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
597 path.quadTo(SkBits2Float(0xc2152d73), SkBits2Float(0x412389fb), SkBits2Float(0xc 214fe6a), SkBits2Float(0x4126ec3a)); 607 path.quadTo(SkBits2Float(0xc2152d73), SkBits2Float(0x412389fb), SkBits2Float(0xc 214fe6a), SkBits2Float(0x4126ec3a));
598 path.quadTo(SkBits2Float(0xc214b621), SkBits2Float(0x412a3217), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d)); 608 path.quadTo(SkBits2Float(0xc214b621), SkBits2Float(0x412a3217), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
(...skipping 14 matching lines...) Expand all
613 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c)); 623 path.quadTo(SkBits2Float(0xc2559cca), SkBits2Float(0x4142831e), SkBits2Float(0xc 24f3eed), SkBits2Float(0x4114026c));
614 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390)); 624 path.quadTo(SkBits2Float(0xc248e111), SkBits2Float(0x40cb0370), SkBits2Float(0xc 23c281b), SkBits2Float(0x40ad4390));
615 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a)); 625 path.quadTo(SkBits2Float(0xc22f6f26), SkBits2Float(0x408f83a8), SkBits2Float(0xc 223cefa), SkBits2Float(0x40c2728a));
616 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d)); 626 path.quadTo(SkBits2Float(0xc2182ecc), SkBits2Float(0x40f5616e), SkBits2Float(0xc 21476d0), SkBits2Float(0x412d948d));
617 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b)); 627 path.quadTo(SkBits2Float(0xc210bed3), SkBits2Float(0x41607862), SkBits2Float(0xc 2171cb0), SkBits2Float(0x41877c8b));
618 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde)); 628 path.quadTo(SkBits2Float(0xc21d7a8c), SkBits2Float(0x419ebce4), SkBits2Float(0xc 22a3381), SkBits2Float(0x41a62cde));
619 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e)); 629 path.quadTo(SkBits2Float(0xc236ec77), SkBits2Float(0x41ad9cd6), SkBits2Float(0xc 2428ca4), SkBits2Float(0x41a0e11e));
620 path.close(); 630 path.close();
621 631
622 SkPath path2(path); 632 SkPath path2(path);
623 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 633 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
624 } 634 }
625 635
626 static void fuzz763_4014(skiatest::Reporter* reporter, const char* filename) { 636 static void fuzz763_4014(skiatest::Reporter* reporter, const char* filename) {
627 SkPath path; 637 SkPath path;
628 path.setFillType((SkPath::FillType) 1); 638 path.setFillType((SkPath::FillType) 1);
629 path.moveTo(SkBits2Float(0x4126977e), SkBits2Float(0xc24e5cc8)); 639 path.moveTo(SkBits2Float(0x4126977e), SkBits2Float(0xc24e5cc8));
630 path.quadTo(SkBits2Float(0x4155a79e), SkBits2Float(0xc2547762), SkBits2Float(0x4 1841952), SkBits2Float(0xc250767b)); 640 path.quadTo(SkBits2Float(0x4155a79e), SkBits2Float(0xc2547762), SkBits2Float(0x4 1841952), SkBits2Float(0xc250767b));
631 path.quadTo(SkBits2Float(0x419d5ed4), SkBits2Float(0xc24c7594), SkBits2Float(0x4 1a99408), SkBits2Float(0xc240b18c)); 641 path.quadTo(SkBits2Float(0x419d5ed4), SkBits2Float(0xc24c7594), SkBits2Float(0x4 1a99408), SkBits2Float(0xc240b18c));
632 path.quadTo(SkBits2Float(0x41b5c93d), SkBits2Float(0xc234ed84), SkBits2Float(0x4 1adc770), SkBits2Float(0xc2284ac3)); 642 path.quadTo(SkBits2Float(0x41b5c93d), SkBits2Float(0xc234ed84), SkBits2Float(0x4 1adc770), SkBits2Float(0xc2284ac3));
633 path.quadTo(SkBits2Float(0x41a5c5a2), SkBits2Float(0xc21ba802), SkBits2Float(0x4 18e3d92), SkBits2Float(0xc2158d68)); 643 path.quadTo(SkBits2Float(0x41a5c5a2), SkBits2Float(0xc21ba802), SkBits2Float(0x4 18e3d92), SkBits2Float(0xc2158d68));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684)); 712 path.quadTo(SkBits2Float(0xc25868d8), SkBits2Float(0x41085856), SkBits2Float(0xc 25145a6), SkBits2Float(0x40b75684));
703 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28)); 713 path.quadTo(SkBits2Float(0xc24a2274), SkBits2Float(0x403bf8b8), SkBits2Float(0xc 23d30a0), SkBits2Float(0x400e5c28));
704 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8)); 714 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8));
705 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3)); 715 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3));
706 path.quadTo(SkBits2Float(0xc21434af), SkBits2Float(0x4138d815), SkBits2Float(0xc 21b57e0), SkBits2Float(0x41658529)); 716 path.quadTo(SkBits2Float(0xc21434af), SkBits2Float(0x4138d815), SkBits2Float(0xc 21b57e0), SkBits2Float(0x41658529));
707 path.quadTo(SkBits2Float(0xc2227b12), SkBits2Float(0x4189191e), SkBits2Float(0xc 22f6ce6), SkBits2Float(0x418eccb0)); 717 path.quadTo(SkBits2Float(0xc2227b12), SkBits2Float(0x4189191e), SkBits2Float(0xc 22f6ce6), SkBits2Float(0x418eccb0));
708 path.quadTo(SkBits2Float(0xc23c5ebc), SkBits2Float(0x41948044), SkBits2Float(0xc 2478a00), SkBits2Float(0x418639e0)); 718 path.quadTo(SkBits2Float(0xc23c5ebc), SkBits2Float(0x41948044), SkBits2Float(0xc 2478a00), SkBits2Float(0x418639e0));
709 path.close(); 719 path.close();
710 720
711 SkPath path2(path); 721 SkPath path2(path);
712 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 722 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
713 } 723 }
714 724
715 static void fuzz763_4014a(skiatest::Reporter* reporter, const char* filename) { 725 static void fuzz763_4014a(skiatest::Reporter* reporter, const char* filename) {
716 SkPath path; 726 SkPath path;
717 path.setFillType((SkPath::FillType) 1); 727 path.setFillType((SkPath::FillType) 1);
718 path.moveTo(SkBits2Float(0xc23d30a0), SkBits2Float(0x400e5c28)); // -47.2975f, 2.22437f 728 path.moveTo(SkBits2Float(0xc23d30a0), SkBits2Float(0x400e5c28)); // -47.2975f, 2.22437f
719 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8)); // -44.0613f, 1.51169f, -41.2691f, 3.29606 f 729 path.quadTo(SkBits2Float(0xc2303ecc), SkBits2Float(0x3fc17f10), SkBits2Float(0xc 2251387), SkBits2Float(0x4052f2a8)); // -44.0613f, 1.51169f, -41.2691f, 3.29606 f
720 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3)); // -38.4768f, 5.08043f, -37.7641f, 8.31659 f 730 path.quadTo(SkBits2Float(0xc219e842), SkBits2Float(0x40a292e2), SkBits2Float(0xc 2170e78), SkBits2Float(0x410510c3)); // -38.4768f, 5.08043f, -37.7641f, 8.31659 f
721 path.quadTo(SkBits2Float(0xc216ac8b), SkBits2Float(0x410c0373), SkBits2Float(0xc 21678a8), SkBits2Float(0x4112d552)); // -37.6685f, 8.75084f, -37.6178f, 9.17708 f 731 path.quadTo(SkBits2Float(0xc216ac8b), SkBits2Float(0x410c0373), SkBits2Float(0xc 21678a8), SkBits2Float(0x4112d552)); // -37.6685f, 8.75084f, -37.6178f, 9.17708 f
722 path.quadTo(SkBits2Float(0xc215ddb7), SkBits2Float(0x411942a8), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -37.4665f, 9.57877f, -37.3514f, 10.0083 f 732 path.quadTo(SkBits2Float(0xc215ddb7), SkBits2Float(0x411942a8), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); // -37.4665f, 9.57877f, -37.3514f, 10.0083 f
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); 935 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
926 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); 936 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
927 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); 937 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
928 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); 938 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
929 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); 939 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
930 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); 940 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
931 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); 941 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
932 path.close(); 942 path.close();
933 943
934 SkPath path2(path); 944 SkPath path2(path);
935 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 945 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
936 } 946 }
937 947
938 static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) { 948 static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) {
939 SkPath path; 949 SkPath path;
940 path.setFillType((SkPath::FillType) 1); 950 path.setFillType((SkPath::FillType) 1);
941 path.moveTo(SkBits2Float(0x413a5194), SkBits2Float(0xc24d4e33)); // 11.6449f, - 51.3264f 951 path.moveTo(SkBits2Float(0x413a5194), SkBits2Float(0xc24d4e33)); // 11.6449f, - 51.3264f
942 path.quadTo(SkBits2Float(0x4169f3fc), SkBits2Float(0xc2532032), SkBits2Float(0x4 18e0c8b), SkBits2Float(0xc24ed218)); // 14.6221f, -52.7814f, 17.7561f, -51.7052 f 952 path.quadTo(SkBits2Float(0x4169f3fc), SkBits2Float(0xc2532032), SkBits2Float(0x4 18e0c8b), SkBits2Float(0xc24ed218)); // 14.6221f, -52.7814f, 17.7561f, -51.7052 f
943 path.quadTo(SkBits2Float(0x41a71f17), SkBits2Float(0xc24a83ff), SkBits2Float(0x4 1b2c316), SkBits2Float(0xc23e9b65)); // 20.8902f, -50.6289f, 22.3453f, -47.6518 f 953 path.quadTo(SkBits2Float(0x41a71f17), SkBits2Float(0xc24a83ff), SkBits2Float(0x4 1b2c316), SkBits2Float(0xc23e9b65)); // 20.8902f, -50.6289f, 22.3453f, -47.6518 f
944 path.quadTo(SkBits2Float(0x41be6714), SkBits2Float(0xc232b2cb), SkBits2Float(0x4 1b5cae0), SkBits2Float(0xc2262985)); // 23.8003f, -44.6746f, 22.7241f, -41.5405 f 954 path.quadTo(SkBits2Float(0x41be6714), SkBits2Float(0xc232b2cb), SkBits2Float(0x4 1b5cae0), SkBits2Float(0xc2262985)); // 23.8003f, -44.6746f, 22.7241f, -41.5405 f
945 path.quadTo(SkBits2Float(0x41ad2ead), SkBits2Float(0xc219a03f), SkBits2Float(0x4 1955d79), SkBits2Float(0xc213ce40)); // 21.6478f, -38.4065f, 18.6706f, -36.9514 f 955 path.quadTo(SkBits2Float(0x41ad2ead), SkBits2Float(0xc219a03f), SkBits2Float(0x4 1955d79), SkBits2Float(0xc213ce40)); // 21.6478f, -38.4065f, 18.6706f, -36.9514 f
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 path.quadTo(SkBits2Float(0x4124f7c7), SkBits2Float(0x4215aa28), SkBits2Float(0x4 156b15b), SkBits2Float(0x421110b0)); // 10.3105f, 37.4162f, 13.4183f, 36.2663f 1134 path.quadTo(SkBits2Float(0x4124f7c7), SkBits2Float(0x4215aa28), SkBits2Float(0x4 156b15b), SkBits2Float(0x421110b0)); // 10.3105f, 37.4162f, 13.4183f, 36.2663f
1125 path.quadTo(SkBits2Float(0x41843577), SkBits2Float(0x420c7739), SkBits2Float(0x4 19c4b3e), SkBits2Float(0x421200ec)); // 16.5261f, 35.1164f, 19.5367f, 36.5009f 1135 path.quadTo(SkBits2Float(0x41843577), SkBits2Float(0x420c7739), SkBits2Float(0x4 19c4b3e), SkBits2Float(0x421200ec)); // 16.5261f, 35.1164f, 19.5367f, 36.5009f
1126 path.quadTo(SkBits2Float(0x41b46104), SkBits2Float(0x42178a9f), SkBits2Float(0x4 1bd93f2), SkBits2Float(0x4223f904)); // 22.5474f, 37.8854f, 23.6972f, 40.9932f 1136 path.quadTo(SkBits2Float(0x41b46104), SkBits2Float(0x42178a9f), SkBits2Float(0x4 1bd93f2), SkBits2Float(0x4223f904)); // 22.5474f, 37.8854f, 23.6972f, 40.9932f
1127 path.quadTo(SkBits2Float(0x41c6c6e0), SkBits2Float(0x42306768), SkBits2Float(0x4 1bbb37b), SkBits2Float(0x423c724c)); // 24.8471f, 44.101f, 23.4626f, 47.1116f 1137 path.quadTo(SkBits2Float(0x41c6c6e0), SkBits2Float(0x42306768), SkBits2Float(0x4 1bbb37b), SkBits2Float(0x423c724c)); // 24.8471f, 44.101f, 23.4626f, 47.1116f
1128 path.close(); 1138 path.close();
1129 1139
1130 SkPath path2(path); 1140 SkPath path2(path);
1131 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1141 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1132 } 1142 }
1133 1143
1144 //SkOpSegment.cpp:3475: failed assertion "firstAngle"
1134 static void fuzz763_17370(skiatest::Reporter* reporter, const char* filename) { 1145 static void fuzz763_17370(skiatest::Reporter* reporter, const char* filename) {
1135 SkPath path; 1146 SkPath path;
1136 path.setFillType((SkPath::FillType) 1); 1147 path.setFillType((SkPath::FillType) 1);
1137 path.moveTo(SkBits2Float(0x41fb8980), SkBits2Float(0xc20d9cf4)); // 31.4421f, - 35.4033f 1148 path.moveTo(SkBits2Float(0x41fb8980), SkBits2Float(0xc20d9cf4)); // 31.4421f, - 35.4033f
1138 path.quadTo(SkBits2Float(0x42081e43), SkBits2Float(0xc215e4e6), SkBits2Float(0x4 2154ac6), SkBits2Float(0xc2146e6f)); // 34.0296f, -37.4735f, 37.323f, -37.1078f 1149 path.quadTo(SkBits2Float(0x42081e43), SkBits2Float(0xc215e4e6), SkBits2Float(0x4 2154ac6), SkBits2Float(0xc2146e6f)); // 34.0296f, -37.4735f, 37.323f, -37.1078f
1139 path.quadTo(SkBits2Float(0x4222774a), SkBits2Float(0xc212f7f8), SkBits2Float(0x4 22abf3a), SkBits2Float(0xc2089e76)); // 40.6165f, -36.7422f, 42.6867f, -34.1547 f 1150 path.quadTo(SkBits2Float(0x4222774a), SkBits2Float(0xc212f7f8), SkBits2Float(0x4 22abf3a), SkBits2Float(0xc2089e76)); // 40.6165f, -36.7422f, 42.6867f, -34.1547 f
1140 path.quadTo(SkBits2Float(0x4233072c), SkBits2Float(0xc1fc89e5), SkBits2Float(0x4 23190b5), SkBits2Float(0xc1e230df)); // 44.757f, -31.5673f, 44.3913f, -28.2739f 1151 path.quadTo(SkBits2Float(0x4233072c), SkBits2Float(0xc1fc89e5), SkBits2Float(0x4 23190b5), SkBits2Float(0xc1e230df)); // 44.757f, -31.5673f, 44.3913f, -28.2739f
1141 path.quadTo(SkBits2Float(0x42301a3e), SkBits2Float(0xc1c7d7d8), SkBits2Float(0x4 225c0bc), SkBits2Float(0xc1b747f6)); // 44.0256f, -24.9804f, 41.4382f, -22.9101 f 1152 path.quadTo(SkBits2Float(0x42301a3e), SkBits2Float(0xc1c7d7d8), SkBits2Float(0x4 225c0bc), SkBits2Float(0xc1b747f6)); // 44.0256f, -24.9804f, 41.4382f, -22.9101 f
1142 path.quadTo(SkBits2Float(0x421b6738), SkBits2Float(0xc1a6b815), SkBits2Float(0x4 20e3ab6), SkBits2Float(0xc1a9a502)); // 38.8508f, -20.8399f, 35.5573f, -21.2056 f 1153 path.quadTo(SkBits2Float(0x421b6738), SkBits2Float(0xc1a6b815), SkBits2Float(0x4 20e3ab6), SkBits2Float(0xc1a9a502)); // 38.8508f, -20.8399f, 35.5573f, -21.2056 f
1143 path.quadTo(SkBits2Float(0x42010e32), SkBits2Float(0xc1ac91ef), SkBits2Float(0x4 1f18c82), SkBits2Float(0xc1c144f4)); // 32.2639f, -21.5713f, 30.1936f, -24.1587 f 1154 path.quadTo(SkBits2Float(0x42010e32), SkBits2Float(0xc1ac91ef), SkBits2Float(0x4 1f18c82), SkBits2Float(0xc1c144f4)); // 32.2639f, -21.5713f, 30.1936f, -24.1587 f
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 path.quadTo(SkBits2Float(0x420b6f41), SkBits2Float(0x4228f9ea), SkBits2Float(0x4 1fc602b), SkBits2Float(0x42288353)); // 34.8586f, 42.2441f, 31.547f, 42.1282f 1440 path.quadTo(SkBits2Float(0x420b6f41), SkBits2Float(0x4228f9ea), SkBits2Float(0x4 1fc602b), SkBits2Float(0x42288353)); // 34.8586f, 42.2441f, 31.547f, 42.1282f
1430 path.quadTo(SkBits2Float(0x41e1e1d7), SkBits2Float(0x42280cbd), SkBits2Float(0x4 1cfcdb9), SkBits2Float(0x421e5af7)); // 28.2353f, 42.0124f, 25.9755f, 39.5888f 1441 path.quadTo(SkBits2Float(0x41e1e1d7), SkBits2Float(0x42280cbd), SkBits2Float(0x4 1cfcdb9), SkBits2Float(0x421e5af7)); // 28.2353f, 42.0124f, 25.9755f, 39.5888f
1431 path.quadTo(SkBits2Float(0x41bdb999), SkBits2Float(0x4214a933), SkBits2Float(0x4 1bea6c6), SkBits2Float(0x42076a08)); // 23.7156f, 37.1652f, 23.8314f, 33.8535f 1442 path.quadTo(SkBits2Float(0x41bdb999), SkBits2Float(0x4214a933), SkBits2Float(0x4 1bea6c6), SkBits2Float(0x42076a08)); // 23.7156f, 37.1652f, 23.8314f, 33.8535f
1432 path.quadTo(SkBits2Float(0x41bf93f3), SkBits2Float(0x41f455bd), SkBits2Float(0x4 1d2f77e), SkBits2Float(0x41e2419e)); // 23.9472f, 30.5419f, 26.3708f, 28.282f 1443 path.quadTo(SkBits2Float(0x41bf93f3), SkBits2Float(0x41f455bd), SkBits2Float(0x4 1d2f77e), SkBits2Float(0x41e2419e)); // 23.9472f, 30.5419f, 26.3708f, 28.282f
1433 path.quadTo(SkBits2Float(0x41e65b07), SkBits2Float(0x41d02d7f), SkBits2Float(0x4 2006cae), SkBits2Float(0x41d11aac)); // 28.7944f, 26.0222f, 32.1061f, 26.138f 1444 path.quadTo(SkBits2Float(0x41e65b07), SkBits2Float(0x41d02d7f), SkBits2Float(0x4 2006cae), SkBits2Float(0x41d11aac)); // 28.7944f, 26.0222f, 32.1061f, 26.138f
1434 path.quadTo(SkBits2Float(0x420dabd9), SkBits2Float(0x41d207d9), SkBits2Float(0x4 216b5e7), SkBits2Float(0x41e56b63)); // 35.4178f, 26.2538f, 37.6776f, 28.6774f 1445 path.quadTo(SkBits2Float(0x420dabd9), SkBits2Float(0x41d207d9), SkBits2Float(0x4 216b5e7), SkBits2Float(0x41e56b63)); // 35.4178f, 26.2538f, 37.6776f, 28.6774f
1435 path.quadTo(SkBits2Float(0x421fbff7), SkBits2Float(0x41f8ceed), SkBits2Float(0x4 21f4961), SkBits2Float(0x4209a6a0)); // 39.9375f, 31.101f, 39.8217f, 34.4127f 1446 path.quadTo(SkBits2Float(0x421fbff7), SkBits2Float(0x41f8ceed), SkBits2Float(0x4 21f4961), SkBits2Float(0x4209a6a0)); // 39.9375f, 31.101f, 39.8217f, 34.4127f
1436 path.close(); 1447 path.close();
1437 1448
1438 SkPath path2(path); 1449 SkPath path2(path);
1439 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1450 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
1440 } 1451 }
1441 1452
1442 static void fuzz763_1597464(skiatest::Reporter* reporter, const char* filename) { 1453 static void fuzz763_1597464(skiatest::Reporter* reporter, const char* filename) {
1443 SkPath path; 1454 SkPath path;
1444 path.setFillType((SkPath::FillType) 1); 1455 path.setFillType((SkPath::FillType) 1);
1445 path.moveTo(SkBits2Float(0x4101092a), SkBits2Float(0xc2500973)); // 8.06474f, - 52.0092f 1456 path.moveTo(SkBits2Float(0x4101092a), SkBits2Float(0xc2500973)); // 8.06474f, - 52.0092f
1446 path.quadTo(SkBits2Float(0x412ef1d8), SkBits2Float(0xc256aade), SkBits2Float(0x4 1622940), SkBits2Float(0xc2533d84)); // 10.934f, -53.6669f, 14.1351f, -52.8101f 1457 path.quadTo(SkBits2Float(0x412ef1d8), SkBits2Float(0xc256aade), SkBits2Float(0x4 1622940), SkBits2Float(0xc2533d84)); // 10.934f, -53.6669f, 14.1351f, -52.8101f
1447 path.quadTo(SkBits2Float(0x418ab055), SkBits2Float(0xc24fd02d), SkBits2Float(0x4 197f32a), SkBits2Float(0xc2445602)); // 17.3361f, -51.9533f, 18.9937f, -49.084f 1458 path.quadTo(SkBits2Float(0x418ab055), SkBits2Float(0xc24fd02d), SkBits2Float(0x4 197f32a), SkBits2Float(0xc2445602)); // 17.3361f, -51.9533f, 18.9937f, -49.084f
1448 path.quadTo(SkBits2Float(0x41a535ff), SkBits2Float(0xc238dbd6), SkBits2Float(0x4 19e5b4c), SkBits2Float(0xc22c0dfb)); // 20.6514f, -46.2147f, 19.7946f, -43.0137 f 1459 path.quadTo(SkBits2Float(0x41a535ff), SkBits2Float(0xc238dbd6), SkBits2Float(0x4 19e5b4c), SkBits2Float(0xc22c0dfb)); // 20.6514f, -46.2147f, 19.7946f, -43.0137 f
1449 path.quadTo(SkBits2Float(0x4197809e), SkBits2Float(0xc21f4021), SkBits2Float(0x4 1808c46), SkBits2Float(0xc2189eb6)); // 18.9378f, -39.8126f, 16.0685f, -38.155f 1460 path.quadTo(SkBits2Float(0x4197809e), SkBits2Float(0xc21f4021), SkBits2Float(0x4 1808c46), SkBits2Float(0xc2189eb6)); // 18.9378f, -39.8126f, 16.0685f, -38.155f
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1524 path.quadTo(SkBits2Float(0xc218d435), SkBits2Float(0x40da2bd2), SkBits2Float(0xc 2156516), SkBits2Float(0x41204b6b)); // -38.2072f, 6.81785f, -37.3487f, 10.0184 f 1535 path.quadTo(SkBits2Float(0xc218d435), SkBits2Float(0x40da2bd2), SkBits2Float(0xc 2156516), SkBits2Float(0x41204b6b)); // -38.2072f, 6.81785f, -37.3487f, 10.0184 f
1525 path.quadTo(SkBits2Float(0xc211f5f7), SkBits2Float(0x415380eb), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -36.4902f, 13.219f, -38.1463f, 16.0892f 1536 path.quadTo(SkBits2Float(0xc211f5f7), SkBits2Float(0x415380eb), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -36.4902f, 13.219f, -38.1463f, 16.0892f
1526 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -39.8024f, 18.9594f, -43.0029f, 19.8179 f 1537 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -39.8024f, 18.9594f, -43.0029f, 19.8179 f
1527 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -46.2035f, 20.6764f, -49.0737f, 19.0203 f 1538 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -46.2035f, 20.6764f, -49.0737f, 19.0203 f
1528 path.close(); 1539 path.close();
1529 1540
1530 SkPath path2(path); 1541 SkPath path2(path);
1531 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1542 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1532 } 1543 }
1533 1544
1545 // SkOpSegment.cpp:4010: failed assertion "span->fOppSum == -0x7FFFFFFF || span- >fOppSum == oppWinding
1534 static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) { 1546 static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) {
1535 SkPath path; 1547 SkPath path;
1536 path.setFillType((SkPath::FillType) 1); 1548 path.setFillType((SkPath::FillType) 1);
1537 #if 00
1538 path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694)); 1549 path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694));
1539 path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x4 1627462), SkBits2Float(0xc253387e)); 1550 path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x4 1627462), SkBits2Float(0xc253387e));
1540 path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x4 1981613), SkBits2Float(0xc2444f40)); 1551 path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x4 1981613), SkBits2Float(0xc2444f40));
1541 path.quadTo(SkBits2Float(0x41a556de), SkBits2Float(0xc238d47d), SkBits2Float(0x4 19e79e6), SkBits2Float(0xc22c06f0)); 1552 path.quadTo(SkBits2Float(0x41a556de), SkBits2Float(0xc238d47d), SkBits2Float(0x4 19e79e6), SkBits2Float(0xc22c06f0));
1542 path.quadTo(SkBits2Float(0x41979cee), SkBits2Float(0xc21f3964), SkBits2Float(0x4 180a76a), SkBits2Float(0xc21898ff)); 1553 path.quadTo(SkBits2Float(0x41979cee), SkBits2Float(0xc21f3964), SkBits2Float(0x4 180a76a), SkBits2Float(0xc21898ff));
1543 path.quadTo(SkBits2Float(0x415363c9), SkBits2Float(0xc211f89a), SkBits2Float(0x4 1202d96), SkBits2Float(0xc2156716)); 1554 path.quadTo(SkBits2Float(0x415363c9), SkBits2Float(0xc211f89a), SkBits2Float(0x4 1202d96), SkBits2Float(0xc2156716));
1544 path.quadTo(SkBits2Float(0x40d9eeca), SkBits2Float(0xc218d592), SkBits2Float(0x4 0a4eba0), SkBits2Float(0xc2245054)); 1555 path.quadTo(SkBits2Float(0x40d9eeca), SkBits2Float(0xc218d592), SkBits2Float(0x4 0a4eba0), SkBits2Float(0xc2245054));
1545 path.quadTo(SkBits2Float(0x405fd0f0), SkBits2Float(0xc22fcb17), SkBits2Float(0x4 08b5c58), SkBits2Float(0xc23c98a3)); 1556 path.quadTo(SkBits2Float(0x405fd0f0), SkBits2Float(0xc22fcb17), SkBits2Float(0x4 08b5c58), SkBits2Float(0xc23c98a3));
1546 path.quadTo(SkBits2Float(0x40a6d038), SkBits2Float(0xc249662f), SkBits2Float(0x4 1015326), SkBits2Float(0xc2500694)); 1557 path.quadTo(SkBits2Float(0x40a6d038), SkBits2Float(0xc249662f), SkBits2Float(0x4 1015326), SkBits2Float(0xc2500694));
1547 path.close(); 1558 path.close();
1548 #endif
1549 #if 000
1550 path.moveTo(SkBits2Float(0xc21a9c18), SkBits2Float(0xc21aa524)); 1559 path.moveTo(SkBits2Float(0xc21a9c18), SkBits2Float(0xc21aa524));
1551 path.quadTo(SkBits2Float(0xc2113c71), SkBits2Float(0xc2240440), SkBits2Float(0xc 203fb34), SkBits2Float(0xc22403dc)); 1560 path.quadTo(SkBits2Float(0xc2113c71), SkBits2Float(0xc2240440), SkBits2Float(0xc 203fb34), SkBits2Float(0xc22403dc));
1552 path.quadTo(SkBits2Float(0xc1ed73ee), SkBits2Float(0xc2240379), SkBits2Float(0xc 1dab5b7), SkBits2Float(0xc21aa3d1)); 1561 path.quadTo(SkBits2Float(0xc1ed73ee), SkBits2Float(0xc2240379), SkBits2Float(0xc 1dab5b7), SkBits2Float(0xc21aa3d1));
1553 path.quadTo(SkBits2Float(0xc1c7f781), SkBits2Float(0xc211442a), SkBits2Float(0xc 1c7f847), SkBits2Float(0xc20402ed)); 1562 path.quadTo(SkBits2Float(0xc1c7f781), SkBits2Float(0xc211442a), SkBits2Float(0xc 1c7f847), SkBits2Float(0xc20402ed));
1554 path.quadTo(SkBits2Float(0xc1c7f90e), SkBits2Float(0xc1ed835f), SkBits2Float(0xc 1dab85d), SkBits2Float(0xc1dac529)); 1563 path.quadTo(SkBits2Float(0xc1c7f90e), SkBits2Float(0xc1ed835f), SkBits2Float(0xc 1dab85d), SkBits2Float(0xc1dac529));
1555 path.quadTo(SkBits2Float(0xc1ed77ad), SkBits2Float(0xc1c806f2), SkBits2Float(0xc 203fd13), SkBits2Float(0xc1c807b9)); 1564 path.quadTo(SkBits2Float(0xc1ed77ad), SkBits2Float(0xc1c806f2), SkBits2Float(0xc 203fd13), SkBits2Float(0xc1c807b9));
1556 path.quadTo(SkBits2Float(0xc2113e50), SkBits2Float(0xc1c8087f), SkBits2Float(0xc 21a9d6b), SkBits2Float(0xc1dac7cf)); 1565 path.quadTo(SkBits2Float(0xc2113e50), SkBits2Float(0xc1c8087f), SkBits2Float(0xc 21a9d6b), SkBits2Float(0xc1dac7cf));
1557 path.quadTo(SkBits2Float(0xc223fc87), SkBits2Float(0xc1ed871e), SkBits2Float(0xc 223fc24), SkBits2Float(0xc20404cc)); 1566 path.quadTo(SkBits2Float(0xc223fc87), SkBits2Float(0xc1ed871e), SkBits2Float(0xc 223fc24), SkBits2Float(0xc20404cc));
1558 path.quadTo(SkBits2Float(0xc223fbc0), SkBits2Float(0xc2114609), SkBits2Float(0xc 21a9c18), SkBits2Float(0xc21aa524)); 1567 path.quadTo(SkBits2Float(0xc223fbc0), SkBits2Float(0xc2114609), SkBits2Float(0xc 21a9c18), SkBits2Float(0xc21aa524));
1559 path.close(); 1568 path.close();
1560 #endif
1561 #if 00
1562 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); 1569 path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455));
1563 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000)); 1570 path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x0 0000000), SkBits2Float(0xc1e00000));
1564 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455)); 1571 path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x4 19e6455), SkBits2Float(0xc19e6455));
1565 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000)); 1572 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0xc1399153), SkBits2Float(0x4 1e00000), SkBits2Float(0x00000000));
1566 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455)); 1573 path.quadTo(SkBits2Float(0x41e00000), SkBits2Float(0x41399153), SkBits2Float(0x4 19e6455), SkBits2Float(0x419e6455));
1567 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74)); 1574 path.quadTo(SkBits2Float(0x415b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0x4 0b878fc), SkBits2Float(0x41db9f74));
1568 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000)); 1575 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0x4 1000000), SkBits2Float(0x42040000));
1569 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e)); 1576 path.quadTo(SkBits2Float(0x41000000), SkBits2Float(0x4211413d), SkBits2Float(0x4 0b504f3), SkBits2Float(0x421aa09e));
1570 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000)); 1577 path.quadTo(SkBits2Float(0x405413cd), SkBits2Float(0x42240000), SkBits2Float(0x0 0000000), SkBits2Float(0x42240000));
1571 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e)); 1578 path.quadTo(SkBits2Float(0xc05413cd), SkBits2Float(0x42240000), SkBits2Float(0xc 0b504f3), SkBits2Float(0x421aa09e));
1572 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000)); 1579 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x4211413d), SkBits2Float(0xc 1000000), SkBits2Float(0x42040000));
1573 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74)); 1580 path.quadTo(SkBits2Float(0xc1000000), SkBits2Float(0x41ee1ba4), SkBits2Float(0xc 0b878fc), SkBits2Float(0x41db9f74));
1574 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455)); 1581 path.quadTo(SkBits2Float(0xc15b75ce), SkBits2Float(0x41cf0dc3), SkBits2Float(0xc 19e6455), SkBits2Float(0x419e6455));
1575 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000)); 1582 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc 1e00000), SkBits2Float(0x00000000));
1576 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455)); 1583 path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc 19e6455), SkBits2Float(0xc19e6455));
1577 path.close(); 1584 path.close();
1578 #endif
1579 #if 01
1580 path.moveTo(SkBits2Float(0xc2533a24), SkBits2Float(0x41625bba)); 1585 path.moveTo(SkBits2Float(0xc2533a24), SkBits2Float(0x41625bba));
1581 path.lineTo(SkBits2Float(0xc2533ab2), SkBits2Float(0x4162536e)); 1586 path.lineTo(SkBits2Float(0xc2533ab2), SkBits2Float(0x4162536e));
1582 path.lineTo(SkBits2Float(0xc2533af7), SkBits2Float(0x41624f68)); 1587 path.lineTo(SkBits2Float(0xc2533af7), SkBits2Float(0x41624f68));
1583 path.quadTo(SkBits2Float(0xc2533a8e), SkBits2Float(0x41625591), SkBits2Float(0xc 2533a24), SkBits2Float(0x41625bba)); 1588 path.quadTo(SkBits2Float(0xc2533a8e), SkBits2Float(0x41625591), SkBits2Float(0xc 2533a24), SkBits2Float(0x41625bba));
1584 path.close(); 1589 path.close();
1585 #endif
1586 #if 0
1587 path.moveTo(SkBits2Float(0x41dac664), SkBits2Float(0x41dab723)); 1590 path.moveTo(SkBits2Float(0x41dac664), SkBits2Float(0x41dab723));
1588 path.quadTo(SkBits2Float(0x41ed82ea), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); 1591 path.quadTo(SkBits2Float(0x41ed82ea), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
1589 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); 1592 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
1590 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); 1593 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
1591 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); 1594 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
1592 path.lineTo(SkBits2Float(0x421a9d9a), SkBits2Float(0x421aa3a2)); 1595 path.lineTo(SkBits2Float(0x421a9d9a), SkBits2Float(0x421aa3a2));
1593 path.quadTo(SkBits2Float(0x42113e0a), SkBits2Float(0x422402d5), SkBits2Float(0x4 203fccd), SkBits2Float(0x42240293)); 1596 path.quadTo(SkBits2Float(0x42113e0a), SkBits2Float(0x422402d5), SkBits2Float(0x4 203fccd), SkBits2Float(0x42240293));
1594 path.quadTo(SkBits2Float(0x41ed7721), SkBits2Float(0x42240251), SkBits2Float(0x4 1dab8bb), SkBits2Float(0x421aa2c0)); 1597 path.quadTo(SkBits2Float(0x41ed7721), SkBits2Float(0x42240251), SkBits2Float(0x4 1dab8bb), SkBits2Float(0x421aa2c0));
1595 path.quadTo(SkBits2Float(0x41c7fa56), SkBits2Float(0x42114330), SkBits2Float(0x4 1c7fada), SkBits2Float(0x420401f3)); 1598 path.quadTo(SkBits2Float(0x41c7fa56), SkBits2Float(0x42114330), SkBits2Float(0x4 1c7fada), SkBits2Float(0x420401f3));
1596 path.quadTo(SkBits2Float(0x41c7fb5f), SkBits2Float(0x41ed9352), SkBits2Float(0x4 1daa13c), SkBits2Float(0x41dadc57)); 1599 path.quadTo(SkBits2Float(0x41c7fb5f), SkBits2Float(0x41ed9352), SkBits2Float(0x4 1daa13c), SkBits2Float(0x41dadc57));
1597 path.quadTo(SkBits2Float(0x41daa91d), SkBits2Float(0x41dad46f), SkBits2Float(0x4 1dab101), SkBits2Float(0x41dacc89)); 1600 path.quadTo(SkBits2Float(0x41daa91d), SkBits2Float(0x41dad46f), SkBits2Float(0x4 1dab101), SkBits2Float(0x41dacc89));
1598 path.quadTo(SkBits2Float(0x41dab5bf), SkBits2Float(0x41dac7c8), SkBits2Float(0x4 1daba7f), SkBits2Float(0x41dac307)); 1601 path.quadTo(SkBits2Float(0x41dab5bf), SkBits2Float(0x41dac7c8), SkBits2Float(0x4 1daba7f), SkBits2Float(0x41dac307));
1599 path.lineTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); 1602 path.lineTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3));
1600 path.quadTo(SkBits2Float(0x41dac293), SkBits2Float(0x41dabaf3), SkBits2Float(0x4 1dac664), SkBits2Float(0x41dab723)); 1603 path.quadTo(SkBits2Float(0x41dac293), SkBits2Float(0x41dabaf3), SkBits2Float(0x4 1dac664), SkBits2Float(0x41dab723));
1601 path.close(); 1604 path.close();
1602 #endif
1603 #if 00001
1604 path.moveTo(SkBits2Float(0xc23c9951), SkBits2Float(0x408b2180)); 1605 path.moveTo(SkBits2Float(0xc23c9951), SkBits2Float(0x408b2180));
1605 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c)); 1606 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c));
1606 path.quadTo(SkBits2Float(0xc218dd36), SkBits2Float(0x40d9a0b8), SkBits2Float(0xc 2156c96), SkBits2Float(0x411fdb9a)); 1607 path.quadTo(SkBits2Float(0xc218dd36), SkBits2Float(0x40d9a0b8), SkBits2Float(0xc 2156c96), SkBits2Float(0x411fdb9a));
1607 path.lineTo(SkBits2Float(0xc2156b9c), SkBits2Float(0x411fea15)); 1608 path.lineTo(SkBits2Float(0xc2156b9c), SkBits2Float(0x411fea15));
1608 path.quadTo(SkBits2Float(0xc2156a20), SkBits2Float(0x4120002c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647)); 1609 path.quadTo(SkBits2Float(0xc2156a20), SkBits2Float(0x4120002c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647));
1609 path.lineTo(SkBits2Float(0xc21568a3), SkBits2Float(0x41201660)); 1610 path.lineTo(SkBits2Float(0xc21568a3), SkBits2Float(0x41201660));
1610 path.lineTo(SkBits2Float(0xc2156841), SkBits2Float(0x41201c29)); 1611 path.lineTo(SkBits2Float(0xc2156841), SkBits2Float(0x41201c29));
1611 path.quadTo(SkBits2Float(0xc215680f), SkBits2Float(0x41201f0a), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); 1612 path.quadTo(SkBits2Float(0xc215680f), SkBits2Float(0x41201f0a), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
1612 path.quadTo(SkBits2Float(0xc21562d2), SkBits2Float(0x41206d52), SkBits2Float(0xc 2155ca3), SkBits2Float(0x4120cb63)); 1613 path.quadTo(SkBits2Float(0xc21562d2), SkBits2Float(0x41206d52), SkBits2Float(0xc 2155ca3), SkBits2Float(0x4120cb63));
1613 path.quadTo(SkBits2Float(0xc212057d), SkBits2Float(0x4153a15f), SkBits2Float(0xc 2189adf), SkBits2Float(0x41809e82)); 1614 path.quadTo(SkBits2Float(0xc212057d), SkBits2Float(0x4153a15f), SkBits2Float(0xc 2189adf), SkBits2Float(0x41809e82));
1614 path.quadTo(SkBits2Float(0xc21f3b9a), SkBits2Float(0x419793a4), SkBits2Float(0xc 22c0940), SkBits2Float(0x419e6fdc)); 1615 path.quadTo(SkBits2Float(0xc21f3b9a), SkBits2Float(0x419793a4), SkBits2Float(0xc 22c0940), SkBits2Float(0x419e6fdc));
1615 path.quadTo(SkBits2Float(0xc238d6e6), SkBits2Float(0x41a54c16), SkBits2Float(0xc 2445177), SkBits2Float(0x41980aa0)); 1616 path.quadTo(SkBits2Float(0xc238d6e6), SkBits2Float(0x41a54c16), SkBits2Float(0xc 2445177), SkBits2Float(0x41980aa0));
1616 path.quadTo(SkBits2Float(0xc24fcb1e), SkBits2Float(0x418aca39), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8)); 1617 path.quadTo(SkBits2Float(0xc24fcb1e), SkBits2Float(0x418aca39), SkBits2Float(0xc 2533998), SkBits2Float(0x416263e8));
1617 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c)); 1618 path.quadTo(SkBits2Float(0xc24fcb5c), SkBits2Float(0x418acd2f), SkBits2Float(0xc 24450bb), SkBits2Float(0x41980e6c));
1618 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330)); 1619 path.quadTo(SkBits2Float(0xc238d61a), SkBits2Float(0x41a54fa9), SkBits2Float(0xc 22c087c), SkBits2Float(0x419e7330));
1619 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176)); 1620 path.quadTo(SkBits2Float(0xc21f3ade), SkBits2Float(0x419796b9), SkBits2Float(0xc 2189a40), SkBits2Float(0x4180a176));
1620 path.lineTo(SkBits2Float(0xc2533b22), SkBits2Float(0x41624cea)); 1621 path.lineTo(SkBits2Float(0xc2533b22), SkBits2Float(0x41624cea));
1621 path.quadTo(SkBits2Float(0xc256a842), SkBits2Float(0x412f19c8), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2)); 1622 path.quadTo(SkBits2Float(0xc256a842), SkBits2Float(0x412f19c8), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2));
1622 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180)); 1623 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180));
1623 path.close(); 1624 path.close();
1624 #endif
1625 1625
1626 SkPath path1(path); 1626 SkPath path1(path);
1627 path.reset(); 1627 path.reset();
1628 path.setFillType((SkPath::FillType) 0); 1628 path.setFillType((SkPath::FillType) 0);
1629 #if 01
1630 path.moveTo(SkBits2Float(0xc2445236), SkBits2Float(0x419806c2)); 1629 path.moveTo(SkBits2Float(0xc2445236), SkBits2Float(0x419806c2));
1631 path.quadTo(SkBits2Float(0xc24fccb6), SkBits2Float(0x418ac513), SkBits2Float(0xc 2533ab2), SkBits2Float(0x4162536e)); 1630 path.quadTo(SkBits2Float(0xc24fccb6), SkBits2Float(0x418ac513), SkBits2Float(0xc 2533ab2), SkBits2Float(0x4162536e));
1632 path.quadTo(SkBits2Float(0xc256a8ae), SkBits2Float(0x412f1cb2), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2)); 1631 path.quadTo(SkBits2Float(0xc256a8ae), SkBits2Float(0x412f1cb2), SkBits2Float(0xc 25007d7), SkBits2Float(0x410132b2));
1633 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180)); 1632 path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc 23c9951), SkBits2Float(0x408b2180));
1634 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c)); 1633 path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc 2245122), SkBits2Float(0x40a4b85c));
1635 path.quadTo(SkBits2Float(0xc218d6a2), SkBits2Float(0x40d9bf1c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647)); 1634 path.quadTo(SkBits2Float(0xc218d6a2), SkBits2Float(0x40d9bf1c), SkBits2Float(0xc 21568a5), SkBits2Float(0x41201647));
1636 path.quadTo(SkBits2Float(0xc211faaa), SkBits2Float(0x41534d02), SkBits2Float(0xc 2189b82), SkBits2Float(0x41809b82)); 1635 path.quadTo(SkBits2Float(0xc211faaa), SkBits2Float(0x41534d02), SkBits2Float(0xc 2189b82), SkBits2Float(0x41809b82));
1637 path.quadTo(SkBits2Float(0xc21f3c59), SkBits2Float(0x41979082), SkBits2Float(0xc 22c0a07), SkBits2Float(0x419e6c7a)); 1636 path.quadTo(SkBits2Float(0xc21f3c59), SkBits2Float(0x41979082), SkBits2Float(0xc 22c0a07), SkBits2Float(0x419e6c7a));
1638 path.quadTo(SkBits2Float(0xc238d7b6), SkBits2Float(0x41a54872), SkBits2Float(0xc 2445236), SkBits2Float(0x419806c2)); 1637 path.quadTo(SkBits2Float(0xc238d7b6), SkBits2Float(0x41a54872), SkBits2Float(0xc 2445236), SkBits2Float(0x419806c2));
1639 path.close(); 1638 path.close();
1640 #endif 1639
1641 SkPath path2(path); 1640 SkPath path2(path);
1642 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1641 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
1643 } 1642 }
1644 1643
1645 static void fuzz763_2211264(skiatest::Reporter* reporter, const char* filename) { 1644 static void fuzz763_2211264(skiatest::Reporter* reporter, const char* filename) {
1646 SkPath path; 1645 SkPath path;
1647 path.setFillType((SkPath::FillType) 1); 1646 path.setFillType((SkPath::FillType) 1);
1648 path.moveTo(SkBits2Float(0x41017a68), SkBits2Float(0xc250050e)); 1647 path.moveTo(SkBits2Float(0x41017a68), SkBits2Float(0xc250050e));
1649 path.quadTo(SkBits2Float(0x412f66b2), SkBits2Float(0xc256a4e9), SkBits2Float(0x4 1629c3c), SkBits2Float(0xc25335d1)); 1648 path.quadTo(SkBits2Float(0x412f66b2), SkBits2Float(0xc256a4e9), SkBits2Float(0x4 1629c3c), SkBits2Float(0xc25335d1));
1650 path.quadTo(SkBits2Float(0x418ae8e6), SkBits2Float(0xc24fc6bc), SkBits2Float(0x4 198289b), SkBits2Float(0xc2444ba9)); 1649 path.quadTo(SkBits2Float(0x418ae8e6), SkBits2Float(0xc24fc6bc), SkBits2Float(0x4 198289b), SkBits2Float(0xc2444ba9));
1651 path.quadTo(SkBits2Float(0x41a56850), SkBits2Float(0xc238d096), SkBits2Float(0x4 19e8a20), SkBits2Float(0xc22c0333)); 1650 path.quadTo(SkBits2Float(0x41a56850), SkBits2Float(0xc238d096), SkBits2Float(0x4 19e8a20), SkBits2Float(0xc22c0333));
1652 path.quadTo(SkBits2Float(0x4197abf4), SkBits2Float(0xc21f35d0), SkBits2Float(0x4 180b5d0), SkBits2Float(0xc21895f6)); 1651 path.quadTo(SkBits2Float(0x4197abf4), SkBits2Float(0xc21f35d0), SkBits2Float(0x4 180b5d0), SkBits2Float(0xc21895f6));
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
2191 path.quadTo(SkBits2Float(0x42581210), SkBits2Float(0x4110b128), SkBits2Float(0x4 24dc3b4), SkBits2Float(0x41320868)); 2190 path.quadTo(SkBits2Float(0x42581210), SkBits2Float(0x4110b128), SkBits2Float(0x4 24dc3b4), SkBits2Float(0x41320868));
2192 path.quadTo(SkBits2Float(0x4243755a), SkBits2Float(0x41535fa6), SkBits2Float(0x4 23646ec), SkBits2Float(0x414dcc96)); 2191 path.quadTo(SkBits2Float(0x4243755a), SkBits2Float(0x41535fa6), SkBits2Float(0x4 23646ec), SkBits2Float(0x414dcc96));
2193 path.quadTo(SkBits2Float(0x4229187e), SkBits2Float(0x41483989), SkBits2Float(0x4 220c2ae), SkBits2Float(0x411f001d)); 2192 path.quadTo(SkBits2Float(0x4229187e), SkBits2Float(0x41483989), SkBits2Float(0x4 220c2ae), SkBits2Float(0x411f001d));
2194 path.quadTo(SkBits2Float(0x42186cde), SkBits2Float(0x40eb8d66), SkBits2Float(0x4 219d1a2), SkBits2Float(0x408219f4)); 2193 path.quadTo(SkBits2Float(0x42186cde), SkBits2Float(0x40eb8d66), SkBits2Float(0x4 219d1a2), SkBits2Float(0x408219f4));
2195 path.quadTo(SkBits2Float(0x421b3666), SkBits2Float(0x3f453420), SkBits2Float(0x4 22584c1), SkBits2Float(0xbfa81fe0)); 2194 path.quadTo(SkBits2Float(0x421b3666), SkBits2Float(0x3f453420), SkBits2Float(0x4 22584c1), SkBits2Float(0xbfa81fe0));
2196 path.quadTo(SkBits2Float(0x422fd31c), SkBits2Float(0xc0596cf0), SkBits2Float(0x4 23d018a), SkBits2Float(0xc04320b0)); 2195 path.quadTo(SkBits2Float(0x422fd31c), SkBits2Float(0xc0596cf0), SkBits2Float(0x4 23d018a), SkBits2Float(0xc04320b0));
2197 path.quadTo(SkBits2Float(0x424a2ff8), SkBits2Float(0xc02cd470), SkBits2Float(0x4 25285c7), SkBits2Float(0xbdfdd900)); 2196 path.quadTo(SkBits2Float(0x424a2ff8), SkBits2Float(0xc02cd470), SkBits2Float(0x4 25285c7), SkBits2Float(0xbdfdd900));
2198 path.close(); 2197 path.close();
2199 2198
2200 SkPath path2(path); 2199 SkPath path2(path);
2201 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 2200 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
2202 } 2201 }
2203 2202
2204 static void fuzz763_2674194(skiatest::Reporter* reporter, const char* filename) { 2203 static void fuzz763_2674194(skiatest::Reporter* reporter, const char* filename) {
2204 if (!FLAGS_runFail) { // FIXME: asserts in alignSpanState
2205 return;
2206 }
2205 SkPath path; 2207 SkPath path;
2206 path.setFillType((SkPath::FillType) 1); 2208 path.setFillType((SkPath::FillType) 1);
2207 path.moveTo(SkBits2Float(0xbfb16e10), SkBits2Float(0xc252733b)); 2209 path.moveTo(SkBits2Float(0xbfb16e10), SkBits2Float(0xc252733b));
2208 path.quadTo(SkBits2Float(0x3f91df50), SkBits2Float(0xc25b07b4), SkBits2Float(0x4 08e27f4), SkBits2Float(0xc259f3f8)); 2210 path.quadTo(SkBits2Float(0x3f91df50), SkBits2Float(0xc25b07b4), SkBits2Float(0x4 08e27f4), SkBits2Float(0xc259f3f8));
2209 path.quadTo(SkBits2Float(0x40f7d814), SkBits2Float(0xc258e03e), SkBits2Float(0x4 11e3df0), SkBits2Float(0xc24ec5d2)); 2211 path.quadTo(SkBits2Float(0x40f7d814), SkBits2Float(0xc258e03e), SkBits2Float(0x4 11e3df0), SkBits2Float(0xc24ec5d2));
2210 path.quadTo(SkBits2Float(0x41408fd4), SkBits2Float(0xc244ab67), SkBits2Float(0x4 13c40e6), SkBits2Float(0xc2377562)); 2212 path.quadTo(SkBits2Float(0x41408fd4), SkBits2Float(0xc244ab67), SkBits2Float(0x4 13c40e6), SkBits2Float(0xc2377562));
2211 path.quadTo(SkBits2Float(0x4137f1f8), SkBits2Float(0xc22a3f5f), SkBits2Float(0x4 10f884c), SkBits2Float(0xc221aae6)); 2213 path.quadTo(SkBits2Float(0x4137f1f8), SkBits2Float(0xc22a3f5f), SkBits2Float(0x4 10f884c), SkBits2Float(0xc221aae6));
2212 path.quadTo(SkBits2Float(0x40ce3d3c), SkBits2Float(0xc219166c), SkBits2Float(0x4 0491a38), SkBits2Float(0xc21a2a28)); 2214 path.quadTo(SkBits2Float(0x40ce3d3c), SkBits2Float(0xc219166c), SkBits2Float(0x4 0491a38), SkBits2Float(0xc21a2a28));
2213 path.quadTo(SkBits2Float(0xbe246080), SkBits2Float(0xc21b3de4), SkBits2Float(0xc 0138d98), SkBits2Float(0xc225584f)); 2215 path.quadTo(SkBits2Float(0xbe246080), SkBits2Float(0xc21b3de4), SkBits2Float(0xc 0138d98), SkBits2Float(0xc225584f));
2214 path.quadTo(SkBits2Float(0xc08e6a98), SkBits2Float(0xc22f72ba), SkBits2Float(0xc 085ccbc), SkBits2Float(0xc23ca8be)); 2216 path.quadTo(SkBits2Float(0xc08e6a98), SkBits2Float(0xc22f72ba), SkBits2Float(0xc 085ccbc), SkBits2Float(0xc23ca8be));
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
2387 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f 2389 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
2388 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25 2390 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
2389 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f 2391 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
2390 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33 2392 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
2391 path.close(); 2393 path.close();
2392 2394
2393 SkPath path2(path); 2395 SkPath path2(path);
2394 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 2396 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
2395 } 2397 }
2396 2398
2397 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
2398 static void (*firstTest)(skiatest::Reporter* , const char* filename) = fuzz763_2 674194; 2399 static void (*firstTest)(skiatest::Reporter* , const char* filename) = fuzz763_2 674194;
2399 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 2400 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
2400 2401
2401 static struct TestDesc tests[] = { 2402 static struct TestDesc tests[] = {
2402 TEST(fuzz763_10022998), 2403 TEST(fuzz763_10022998),
2403 TEST(fuzz763_2674194), 2404 TEST(fuzz763_2674194),
2404 TEST(fuzz763_5485218), 2405 TEST(fuzz763_5485218),
2405 TEST(fuzz763_1026368), 2406 TEST(fuzz763_1026368),
2406 TEST(fuzz763_3283699), 2407 TEST(fuzz763_3283699),
2407 TEST(fuzz763_6411089), 2408 TEST(fuzz763_6411089),
(...skipping 24 matching lines...) Expand all
2432 }; 2433 };
2433 2434
2434 static const size_t testCount = SK_ARRAY_COUNT(tests); 2435 static const size_t testCount = SK_ARRAY_COUNT(tests);
2435 2436
2436 static bool runReverse = false; 2437 static bool runReverse = false;
2437 2438
2438 DEF_TEST(PathOpsFuzz763, reporter) { 2439 DEF_TEST(PathOpsFuzz763, reporter) {
2439 #if DEBUG_SHOW_TEST_NAME 2440 #if DEBUG_SHOW_TEST_NAME
2440 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 2441 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
2441 #endif 2442 #endif
2442 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse); 2443 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse);
2443 } 2444 }
OLDNEW
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsLineIntersectionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698