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

Side by Side Diff: tests/PathOpsFuzz763Test.cpp

Issue 2128633003: pathops coincidence and security rewrite (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: require resulting t to be between 0 and 1 Created 4 years, 5 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
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 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296)); 447 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296));
448 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660)); 448 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660));
449 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c)); 449 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c));
450 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125)); 450 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
451 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b)); 451 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
452 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de)); 452 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
453 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb)); 453 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
454 path.close(); 454 path.close();
455 455
456 SkPath path2(path); 456 SkPath path2(path);
457 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 457 // DEBUG_UNDER_DEVELOPMENT fuzz763_378a disable expectation check for now
458 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, !FLAGS_runFa il);
458 } 459 }
459 460
460 461
461 static void fuzz763_378a_1(skiatest::Reporter* reporter, const char* filename) { 462 static void fuzz763_378a_1(skiatest::Reporter* reporter, const char* filename) {
462 SkPath path; 463 SkPath path;
463 path.setFillType((SkPath::FillType) 1); 464 path.setFillType((SkPath::FillType) 1);
464 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec)); 465 path.moveTo(SkBits2Float(0xc23c98fa), SkBits2Float(0x408b3eec));
465 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200)); 466 path.quadTo(SkBits2Float(0xc22fcb5c), SkBits2Float(0x405f9a18), SkBits2Float(0xc 22450bb), SkBits2Float(0x40a4d200));
466 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef)); 467 path.quadTo(SkBits2Float(0xc218d61a), SkBits2Float(0x40d9d6f4), SkBits2Float(0xc 21567dd), SkBits2Float(0x412021ef));
467 path.quadTo(SkBits2Float(0xc2155d3d), SkBits2Float(0x4120c08f), SkBits2Float(0xc 2155303), SkBits2Float(0x41215e9f)); 468 path.quadTo(SkBits2Float(0xc2155d3d), SkBits2Float(0x4120c08f), SkBits2Float(0xc 2155303), SkBits2Float(0x41215e9f));
(...skipping 20 matching lines...) Expand all
488 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296)); 489 path.quadTo(SkBits2Float(0xc2564948), SkBits2Float(0x413644ce), SkBits2Float(0xc 24fc102), SkBits2Float(0x41082296));
489 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660)); 490 path.quadTo(SkBits2Float(0xc24938bd), SkBits2Float(0x40b400bc), SkBits2Float(0xc 23c727f), SkBits2Float(0x4097b660));
490 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c)); 491 path.quadTo(SkBits2Float(0xc22fac40), SkBits2Float(0x4076d800), SkBits2Float(0xc 22423b2), SkBits2Float(0x40afae2c));
491 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125)); 492 path.quadTo(SkBits2Float(0xc2189b24), SkBits2Float(0x40e3f058), SkBits2Float(0xc 21511d9), SkBits2Float(0x41251125));
492 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b)); 493 path.quadTo(SkBits2Float(0xc211888d), SkBits2Float(0x41582a1e), SkBits2Float(0xc 21810d2), SkBits2Float(0x4183262b));
493 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de)); 494 path.quadTo(SkBits2Float(0xc21e9918), SkBits2Float(0x419a3747), SkBits2Float(0xc 22b5f56), SkBits2Float(0x41a149de));
494 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb)); 495 path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc 243ae22), SkBits2Float(0x419b4beb));
495 path.close(); 496 path.close();
496 497
497 SkPath path2(path); 498 SkPath path2(path);
498 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 499 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, !FLAGS_runFa il);
499 } 500 }
500 501
501 static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) { 502 static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) {
502 SkPath path; 503 SkPath path;
503 path.setFillType((SkPath::FillType) 1); 504 path.setFillType((SkPath::FillType) 1);
504 path.moveTo(SkBits2Float(0x40dce520), SkBits2Float(0xc250b45c)); 505 path.moveTo(SkBits2Float(0x40dce520), SkBits2Float(0xc250b45c));
505 path.quadTo(SkBits2Float(0x411bc0ec), SkBits2Float(0xc25796e0), SkBits2Float(0x4 14f4352), SkBits2Float(0xc25472d6)); 506 path.quadTo(SkBits2Float(0x411bc0ec), SkBits2Float(0xc25796e0), SkBits2Float(0x4 14f4352), SkBits2Float(0xc25472d6));
506 path.quadTo(SkBits2Float(0x418162dd), SkBits2Float(0xc2514ece), SkBits2Float(0x4 18f27e4), SkBits2Float(0xc245fb37)); 507 path.quadTo(SkBits2Float(0x418162dd), SkBits2Float(0xc2514ece), SkBits2Float(0x4 18f27e4), SkBits2Float(0xc245fb37));
507 path.quadTo(SkBits2Float(0x419cecea), SkBits2Float(0xc23aa7a0), SkBits2Float(0x4 196a4d8), SkBits2Float(0xc22dc706)); 508 path.quadTo(SkBits2Float(0x419cecea), SkBits2Float(0xc23aa7a0), SkBits2Float(0x4 196a4d8), SkBits2Float(0xc22dc706));
508 path.quadTo(SkBits2Float(0x41905cc8), SkBits2Float(0xc220e66c), SkBits2Float(0x4 1736b34), SkBits2Float(0xc21a03e9)); 509 path.quadTo(SkBits2Float(0x41905cc8), SkBits2Float(0xc220e66c), SkBits2Float(0x4 1736b34), SkBits2Float(0xc21a03e9));
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); 926 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
926 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); 927 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
927 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); 928 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
928 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); 929 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
929 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); 930 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
930 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); 931 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3));
931 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); 932 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000));
932 path.close(); 933 path.close();
933 934
934 SkPath path2(path); 935 SkPath path2(path);
935 // FIXME: This should not fail; trading adding this failure for fixing secur ity bug 936 // DEBUG_UNDER_DEVELOPMENT fuzz763_4713 disable expectation check for now
936 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 937 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, !FLAGS_runFa il);
937 } 938 }
938 939
939 static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) { 940 static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) {
940 SkPath path; 941 SkPath path;
941 path.setFillType((SkPath::FillType) 1); 942 path.setFillType((SkPath::FillType) 1);
942 path.moveTo(SkBits2Float(0x413a5194), SkBits2Float(0xc24d4e33)); // 11.6449f, - 51.3264f 943 path.moveTo(SkBits2Float(0x413a5194), SkBits2Float(0xc24d4e33)); // 11.6449f, - 51.3264f
943 path.quadTo(SkBits2Float(0x4169f3fc), SkBits2Float(0xc2532032), SkBits2Float(0x4 18e0c8b), SkBits2Float(0xc24ed218)); // 14.6221f, -52.7814f, 17.7561f, -51.7052 f 944 path.quadTo(SkBits2Float(0x4169f3fc), SkBits2Float(0xc2532032), SkBits2Float(0x4 18e0c8b), SkBits2Float(0xc24ed218)); // 14.6221f, -52.7814f, 17.7561f, -51.7052 f
944 path.quadTo(SkBits2Float(0x41a71f17), SkBits2Float(0xc24a83ff), SkBits2Float(0x4 1b2c316), SkBits2Float(0xc23e9b65)); // 20.8902f, -50.6289f, 22.3453f, -47.6518 f 945 path.quadTo(SkBits2Float(0x41a71f17), SkBits2Float(0xc24a83ff), SkBits2Float(0x4 1b2c316), SkBits2Float(0xc23e9b65)); // 20.8902f, -50.6289f, 22.3453f, -47.6518 f
945 path.quadTo(SkBits2Float(0x41be6714), SkBits2Float(0xc232b2cb), SkBits2Float(0x4 1b5cae0), SkBits2Float(0xc2262985)); // 23.8003f, -44.6746f, 22.7241f, -41.5405 f 946 path.quadTo(SkBits2Float(0x41be6714), SkBits2Float(0xc232b2cb), SkBits2Float(0x4 1b5cae0), SkBits2Float(0xc2262985)); // 23.8003f, -44.6746f, 22.7241f, -41.5405 f
946 path.quadTo(SkBits2Float(0x41ad2ead), SkBits2Float(0xc219a03f), SkBits2Float(0x4 1955d79), SkBits2Float(0xc213ce40)); // 21.6478f, -38.4065f, 18.6706f, -36.9514 f 947 path.quadTo(SkBits2Float(0x41ad2ead), SkBits2Float(0xc219a03f), SkBits2Float(0x4 1955d79), SkBits2Float(0xc213ce40)); // 21.6478f, -38.4065f, 18.6706f, -36.9514 f
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 path.quadTo(SkBits2Float(0xc256a4ca), SkBits2Float(0x412f6908), SkBits2Float(0xc 25004f8), SkBits2Float(0x41017cac)); // -53.6609f, 10.9631f, -52.0049f, 8.09294 f 1523 path.quadTo(SkBits2Float(0xc256a4ca), SkBits2Float(0x412f6908), SkBits2Float(0xc 25004f8), SkBits2Float(0x41017cac)); // -53.6609f, 10.9631f, -52.0049f, 8.09294 f
1523 path.quadTo(SkBits2Float(0xc2496525), SkBits2Float(0x40a7209c), SkBits2Float(0xc 23c97c4), SkBits2Float(0x408ba7a8)); // -50.3488f, 5.22273f, -47.1482f, 4.36422 f 1524 path.quadTo(SkBits2Float(0xc2496525), SkBits2Float(0x40a7209c), SkBits2Float(0xc 23c97c4), SkBits2Float(0x408ba7a8)); // -50.3488f, 5.22273f, -47.1482f, 4.36422 f
1524 path.quadTo(SkBits2Float(0xc22fca64), SkBits2Float(0x40605d58), SkBits2Float(0xc 2244f4d), SkBits2Float(0x40a52d40)); // -43.9476f, 3.5057f, -41.0774f, 5.16177f 1525 path.quadTo(SkBits2Float(0xc22fca64), SkBits2Float(0x40605d58), SkBits2Float(0xc 2244f4d), SkBits2Float(0x40a52d40)); // -43.9476f, 3.5057f, -41.0774f, 5.16177f
1525 path.quadTo(SkBits2Float(0xc218d435), SkBits2Float(0x40da2bd2), SkBits2Float(0xc 2156516), SkBits2Float(0x41204b6b)); // -38.2072f, 6.81785f, -37.3487f, 10.0184 f 1526 path.quadTo(SkBits2Float(0xc218d435), SkBits2Float(0x40da2bd2), SkBits2Float(0xc 2156516), SkBits2Float(0x41204b6b)); // -38.2072f, 6.81785f, -37.3487f, 10.0184 f
1526 path.quadTo(SkBits2Float(0xc211f5f7), SkBits2Float(0x415380eb), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -36.4902f, 13.219f, -38.1463f, 16.0892f 1527 path.quadTo(SkBits2Float(0xc211f5f7), SkBits2Float(0x415380eb), SkBits2Float(0xc 21895c9), SkBits2Float(0x4180b6a4)); // -36.4902f, 13.219f, -38.1463f, 16.0892f
1527 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -39.8024f, 18.9594f, -43.0029f, 19.8179 f 1528 path.quadTo(SkBits2Float(0xc21f359c), SkBits2Float(0x4197acd2), SkBits2Float(0xc 22c02fc), SkBits2Float(0x419e8b10)); // -39.8024f, 18.9594f, -43.0029f, 19.8179 f
1528 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -46.2035f, 20.6764f, -49.0737f, 19.0203 f 1529 path.quadTo(SkBits2Float(0xc238d05c), SkBits2Float(0x41a56952), SkBits2Float(0xc 2444b74), SkBits2Float(0x419829ad)); // -46.2035f, 20.6764f, -49.0737f, 19.0203 f
1529 path.close(); 1530 path.close();
1530 1531
1531 SkPath path2(path); 1532 SkPath path2(path);
1532 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l); 1533 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1533 } 1534 }
1534 1535
1535 static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) { 1536 static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) {
1536 SkPath path; 1537 SkPath path;
1537 path.setFillType((SkPath::FillType) 1); 1538 path.setFillType((SkPath::FillType) 1);
1538 #if 00 1539 #if 00
1539 path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694)); 1540 path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694));
1540 path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x4 1627462), SkBits2Float(0xc253387e)); 1541 path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x4 1627462), SkBits2Float(0xc253387e));
1541 path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x4 1981613), SkBits2Float(0xc2444f40)); 1542 path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x4 1981613), SkBits2Float(0xc2444f40));
1542 path.quadTo(SkBits2Float(0x41a556de), SkBits2Float(0xc238d47d), SkBits2Float(0x4 19e79e6), SkBits2Float(0xc22c06f0)); 1543 path.quadTo(SkBits2Float(0x41a556de), SkBits2Float(0xc238d47d), SkBits2Float(0x4 19e79e6), SkBits2Float(0xc22c06f0));
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
2086 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41 2087 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); // 36.3137f, 41, 33, 41
2087 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f 2088 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); // 29.6863f, 41, 27.3431f, 38.6569f
2088 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33 2089 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); // 25, 36.3137f, 25, 33
2089 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f 2090 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); // 25, 29.6863f, 27.3431f, 27.3431f
2090 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25 2091 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
2091 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f 2092 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
2092 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33 2093 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
2093 path.close(); 2094 path.close();
2094 2095
2095 SkPath path2(path); 2096 SkPath path2(path);
2096 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 2097 // DEBUG_UNDER_DEVELOPMENT fuzz763_1026368 disable expectation check for no w
2098 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, !FLAGS_runFa il);
2097 } 2099 }
2098 2100
2099 static void fuzz763_5485218(skiatest::Reporter* reporter, const char* filename) { 2101 static void fuzz763_5485218(skiatest::Reporter* reporter, const char* filename) {
2100 SkPath path; 2102 SkPath path;
2101 path.setFillType((SkPath::FillType) 1); 2103 path.setFillType((SkPath::FillType) 1);
2102 path.moveTo(SkBits2Float(0xc1b1a434), SkBits2Float(0xc247d348)); 2104 path.moveTo(SkBits2Float(0xc1b1a434), SkBits2Float(0xc247d348));
2103 path.quadTo(SkBits2Float(0xc1996ac1), SkBits2Float(0xc24d3588), SkBits2Float(0xc 180ac87), SkBits2Float(0xc248738e)); 2105 path.quadTo(SkBits2Float(0xc1996ac1), SkBits2Float(0xc24d3588), SkBits2Float(0xc 180ac87), SkBits2Float(0xc248738e));
2104 path.quadTo(SkBits2Float(0xc14fdc9c), SkBits2Float(0xc243b194), SkBits2Float(0xc 13a53a0), SkBits2Float(0xc23794da)); 2106 path.quadTo(SkBits2Float(0xc14fdc9c), SkBits2Float(0xc243b194), SkBits2Float(0xc 13a53a0), SkBits2Float(0xc23794da));
2105 path.quadTo(SkBits2Float(0xc124caa4), SkBits2Float(0xc22b7821), SkBits2Float(0xc 137d28c), SkBits2Float(0xc21f1904)); 2107 path.quadTo(SkBits2Float(0xc124caa4), SkBits2Float(0xc22b7821), SkBits2Float(0xc 137d28c), SkBits2Float(0xc21f1904));
2106 path.quadTo(SkBits2Float(0xc14ada74), SkBits2Float(0xc212b9e7), SkBits2Float(0xc 17b4d59), SkBits2Float(0xc20d57a8)); 2108 path.quadTo(SkBits2Float(0xc14ada74), SkBits2Float(0xc212b9e7), SkBits2Float(0xc 17b4d59), SkBits2Float(0xc20d57a8));
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
2389 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25 2391 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); // 29.6863f, 25, 33, 25
2390 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f 2392 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x4 21aa09e), SkBits2Float(0x41dabec3)); // 36.3137f, 25, 38.6569f, 27.3431f
2391 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33 2393 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 2240000), SkBits2Float(0x42040000)); // 41, 29.6863f, 41, 33
2392 path.close(); 2394 path.close();
2393 2395
2394 SkPath path2(path); 2396 SkPath path2(path);
2395 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 2397 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
2396 } 2398 }
2397 2399
2398 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; 2400 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
2399 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; 2401 static void (*firstTest)(skiatest::Reporter* , const char* filename) = fuzz763_1 026368;
2400 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 2402 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
2401 2403
2402 static struct TestDesc tests[] = { 2404 static struct TestDesc tests[] = {
2403 TEST(fuzz763_10022998), 2405 TEST(fuzz763_10022998),
2404 TEST(fuzz763_2674194), 2406 TEST(fuzz763_2674194),
2405 TEST(fuzz763_5485218), 2407 TEST(fuzz763_5485218),
2406 TEST(fuzz763_1026368), 2408 TEST(fuzz763_1026368),
2407 TEST(fuzz763_3283699), 2409 TEST(fuzz763_3283699),
2408 TEST(fuzz763_6411089), 2410 TEST(fuzz763_6411089),
2409 TEST(fuzz763_4628016), 2411 TEST(fuzz763_4628016),
(...skipping 25 matching lines...) Expand all
2435 static const size_t testCount = SK_ARRAY_COUNT(tests); 2437 static const size_t testCount = SK_ARRAY_COUNT(tests);
2436 2438
2437 static bool runReverse = false; 2439 static bool runReverse = false;
2438 2440
2439 DEF_TEST(PathOpsFuzz763, reporter) { 2441 DEF_TEST(PathOpsFuzz763, reporter) {
2440 #if DEBUG_SHOW_TEST_NAME 2442 #if DEBUG_SHOW_TEST_NAME
2441 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 2443 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
2442 #endif 2444 #endif
2443 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse); 2445 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse);
2444 } 2446 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698