Index: tests/PathOpsFuzz763Test.cpp |
diff --git a/tests/PathOpsFuzz763Test.cpp b/tests/PathOpsFuzz763Test.cpp |
index 64eb81924c79b7c446ff83743e40824ceb60c60a..cd851a78ccb3bd03716c3ee8ccb9b4dc9305499f 100755 |
--- a/tests/PathOpsFuzz763Test.cpp |
+++ b/tests/PathOpsFuzz763Test.cpp |
@@ -121,6 +121,11 @@ |
} |
static void fuzz763_378(skiatest::Reporter* reporter, const char* filename) { |
+#ifdef SK_BUILD_FOR_ANDROID |
+ if (!FLAGS_runFail) { |
+ return; // fails on nexus 9 in release, possibly related to fused multiply-add |
+ } |
+#endif |
SkPath path; |
path.setFillType((SkPath::FillType) 1); |
path.moveTo(SkBits2Float(0x41013776), SkBits2Float(0xc25007a8)); |
@@ -214,6 +219,11 @@ |
} |
static void fuzz763_378b(skiatest::Reporter* reporter, const char* filename) { |
+#ifdef SK_BUILD_FOR_ANDROID |
+ if (!FLAGS_runFail) { |
+ return; // fails on nexus 9 in release, possibly related to fused multiply-add |
+ } |
+#endif |
SkPath path; |
path.setFillType((SkPath::FillType) 1); |
path.moveTo(-47.1494f, 4.35143f); |
@@ -233,7 +243,7 @@ |
path.quadTo(SkBits2Float(0xc238d4f6), SkBits2Float(0x41a554c0), SkBits2Float(0xc2444fb0), SkBits2Float(0x419813d4)); |
path.close(); |
SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_378c(skiatest::Reporter* reporter, const char* filename) { |
@@ -254,7 +264,7 @@ |
path.quadTo(-39.8065f, 18.9507f, -43.0072f, 19.8086f); |
path.close(); |
SkPath path2(path); |
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
+ testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
static void fuzz763_378d(skiatest::Reporter* reporter, const char* filename) { |
@@ -495,7 +505,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
+ testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
static void fuzz763_8712(skiatest::Reporter* reporter, const char* filename) { |
@@ -585,7 +595,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_8712a(skiatest::Reporter* reporter, const char* filename) { |
@@ -620,7 +630,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_4014(skiatest::Reporter* reporter, const char* filename) { |
@@ -709,7 +719,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_4014a(skiatest::Reporter* reporter, const char* filename) { |
@@ -932,7 +942,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
+ testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
static void fuzz763_24588(skiatest::Reporter* reporter, const char* filename) { |
@@ -1131,6 +1141,7 @@ |
testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
+//SkOpSegment.cpp:3475: failed assertion "firstAngle" |
static void fuzz763_17370(skiatest::Reporter* reporter, const char* filename) { |
SkPath path; |
path.setFillType((SkPath::FillType) 1); |
@@ -1436,7 +1447,7 @@ |
path.close(); |
SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_1597464(skiatest::Reporter* reporter, const char* filename) { |
@@ -1531,10 +1542,10 @@ |
testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
+// SkOpSegment.cpp:4010: failed assertion "span->fOppSum == -0x7FFFFFFF || span->fOppSum == oppWinding |
static void fuzz763_34974(skiatest::Reporter* reporter, const char* filename) { |
SkPath path; |
path.setFillType((SkPath::FillType) 1); |
-#if 00 |
path.moveTo(SkBits2Float(0x41015326), SkBits2Float(0xc2500694)); |
path.quadTo(SkBits2Float(0x412f3e30), SkBits2Float(0xc256a6fa), SkBits2Float(0x41627462), SkBits2Float(0xc253387e)); |
path.quadTo(SkBits2Float(0x418ad549), SkBits2Float(0xc24fca02), SkBits2Float(0x41981613), SkBits2Float(0xc2444f40)); |
@@ -1545,8 +1556,6 @@ |
path.quadTo(SkBits2Float(0x405fd0f0), SkBits2Float(0xc22fcb17), SkBits2Float(0x408b5c58), SkBits2Float(0xc23c98a3)); |
path.quadTo(SkBits2Float(0x40a6d038), SkBits2Float(0xc249662f), SkBits2Float(0x41015326), SkBits2Float(0xc2500694)); |
path.close(); |
-#endif |
-#if 000 |
path.moveTo(SkBits2Float(0xc21a9c18), SkBits2Float(0xc21aa524)); |
path.quadTo(SkBits2Float(0xc2113c71), SkBits2Float(0xc2240440), SkBits2Float(0xc203fb34), SkBits2Float(0xc22403dc)); |
path.quadTo(SkBits2Float(0xc1ed73ee), SkBits2Float(0xc2240379), SkBits2Float(0xc1dab5b7), SkBits2Float(0xc21aa3d1)); |
@@ -1557,8 +1566,6 @@ |
path.quadTo(SkBits2Float(0xc223fc87), SkBits2Float(0xc1ed871e), SkBits2Float(0xc223fc24), SkBits2Float(0xc20404cc)); |
path.quadTo(SkBits2Float(0xc223fbc0), SkBits2Float(0xc2114609), SkBits2Float(0xc21a9c18), SkBits2Float(0xc21aa524)); |
path.close(); |
-#endif |
-#if 00 |
path.moveTo(SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); |
path.quadTo(SkBits2Float(0xc1399153), SkBits2Float(0xc1e00000), SkBits2Float(0x00000000), SkBits2Float(0xc1e00000)); |
path.quadTo(SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x419e6455), SkBits2Float(0xc19e6455)); |
@@ -1575,15 +1582,11 @@ |
path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0x41399153), SkBits2Float(0xc1e00000), SkBits2Float(0x00000000)); |
path.quadTo(SkBits2Float(0xc1e00000), SkBits2Float(0xc1399153), SkBits2Float(0xc19e6455), SkBits2Float(0xc19e6455)); |
path.close(); |
-#endif |
-#if 01 |
path.moveTo(SkBits2Float(0xc2533a24), SkBits2Float(0x41625bba)); |
path.lineTo(SkBits2Float(0xc2533ab2), SkBits2Float(0x4162536e)); |
path.lineTo(SkBits2Float(0xc2533af7), SkBits2Float(0x41624f68)); |
path.quadTo(SkBits2Float(0xc2533a8e), SkBits2Float(0x41625591), SkBits2Float(0xc2533a24), SkBits2Float(0x41625bba)); |
path.close(); |
-#endif |
-#if 0 |
path.moveTo(SkBits2Float(0x41dac664), SkBits2Float(0x41dab723)); |
path.quadTo(SkBits2Float(0x41ed82ea), SkBits2Float(0x41c80000), SkBits2Float(0x42040000), SkBits2Float(0x41c80000)); |
path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x41c80000), SkBits2Float(0x421aa09e), SkBits2Float(0x41dabec3)); |
@@ -1599,8 +1602,6 @@ |
path.lineTo(SkBits2Float(0x41dabec3), SkBits2Float(0x41dabec3)); |
path.quadTo(SkBits2Float(0x41dac293), SkBits2Float(0x41dabaf3), SkBits2Float(0x41dac664), SkBits2Float(0x41dab723)); |
path.close(); |
-#endif |
-#if 00001 |
path.moveTo(SkBits2Float(0xc23c9951), SkBits2Float(0x408b2180)); |
path.quadTo(SkBits2Float(0xc22fcba2), SkBits2Float(0x405f6340), SkBits2Float(0xc2245122), SkBits2Float(0x40a4b85c)); |
path.quadTo(SkBits2Float(0xc218dd36), SkBits2Float(0x40d9a0b8), SkBits2Float(0xc2156c96), SkBits2Float(0x411fdb9a)); |
@@ -1621,12 +1622,10 @@ |
path.quadTo(SkBits2Float(0xc256a842), SkBits2Float(0x412f19c8), SkBits2Float(0xc25007d7), SkBits2Float(0x410132b2)); |
path.quadTo(SkBits2Float(0xc24966ff), SkBits2Float(0x40a69160), SkBits2Float(0xc23c9951), SkBits2Float(0x408b2180)); |
path.close(); |
-#endif |
- |
- SkPath path1(path); |
- path.reset(); |
- path.setFillType((SkPath::FillType) 0); |
-#if 01 |
+ |
+ SkPath path1(path); |
+ path.reset(); |
+ path.setFillType((SkPath::FillType) 0); |
path.moveTo(SkBits2Float(0xc2445236), SkBits2Float(0x419806c2)); |
path.quadTo(SkBits2Float(0xc24fccb6), SkBits2Float(0x418ac513), SkBits2Float(0xc2533ab2), SkBits2Float(0x4162536e)); |
path.quadTo(SkBits2Float(0xc256a8ae), SkBits2Float(0x412f1cb2), SkBits2Float(0xc25007d7), SkBits2Float(0x410132b2)); |
@@ -1637,9 +1636,9 @@ |
path.quadTo(SkBits2Float(0xc21f3c59), SkBits2Float(0x41979082), SkBits2Float(0xc22c0a07), SkBits2Float(0x419e6c7a)); |
path.quadTo(SkBits2Float(0xc238d7b6), SkBits2Float(0x41a54872), SkBits2Float(0xc2445236), SkBits2Float(0x419806c2)); |
path.close(); |
-#endif |
- SkPath path2(path); |
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
+ |
+ SkPath path2(path); |
+ testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
} |
static void fuzz763_2211264(skiatest::Reporter* reporter, const char* filename) { |
@@ -2198,10 +2197,13 @@ |
path.close(); |
SkPath path2(path); |
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFail); |
+ testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
static void fuzz763_2674194(skiatest::Reporter* reporter, const char* filename) { |
+ if (!FLAGS_runFail) { // FIXME: asserts in alignSpanState |
+ return; |
+ } |
SkPath path; |
path.setFillType((SkPath::FillType) 1); |
path.moveTo(SkBits2Float(0xbfb16e10), SkBits2Float(0xc252733b)); |
@@ -2394,7 +2396,6 @@ |
testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); |
} |
-static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; |
static void (*firstTest)(skiatest::Reporter* , const char* filename) = fuzz763_2674194; |
static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
@@ -2439,5 +2440,5 @@ |
#if DEBUG_SHOW_TEST_NAME |
strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
#endif |
- RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runReverse); |
-} |
+ RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); |
+} |