aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/PathOpsFuzz763Test.cpp
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2016-09-15 07:48:18 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-15 07:48:18 -0700
commite839e78443e48d4ccad89059b4bc4b3d894fcfdd (patch)
tree516e3a08710bdbe9dc4785553026f06f14c75e61 /tests/PathOpsFuzz763Test.cpp
parent32d1e95ca593adfaa12bc48d4ac0d5501a4b2046 (diff)
quad and conic do not intersect
If a quad a conic intersect only where the end of one is contained by the convex hull of the other, and the curve contained by the hull is nearly a straight line, treating it as a line may move the end point to the other side of the curve. Detect this by checking to see if the end point is in the hull, and if so, continue to subdivide the curve rather than treating it as a line. This fixes several existing tests that were disabled earlier this year. A typo in SkDCurve::nearPoint() prevented detecting when the end of a line was nearly touching a curve. Also fixed concidence a bit to get the second half of tiger further along. All existing tests, including extended testing in Release and the first half of tiger, work. TBR=reed@google.com BUG=skia:5131 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2338323002 Review-Url: https://codereview.chromium.org/2338323002
Diffstat (limited to 'tests/PathOpsFuzz763Test.cpp')
-rwxr-xr-xtests/PathOpsFuzz763Test.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/tests/PathOpsFuzz763Test.cpp b/tests/PathOpsFuzz763Test.cpp
index ba0aa056fd..ecbada2a22 100755
--- a/tests/PathOpsFuzz763Test.cpp
+++ b/tests/PathOpsFuzz763Test.cpp
@@ -454,8 +454,7 @@ path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc
path.close();
SkPath path2(path);
-// DEBUG_UNDER_DEVELOPMENT fuzz763_378a disable expectation check for now
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, !FLAGS_runFail);
+ testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
}
@@ -496,7 +495,7 @@ path.quadTo(SkBits2Float(0xc2382594), SkBits2Float(0x41a85c76), SkBits2Float(0xc
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) {
@@ -933,8 +932,7 @@ path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4
path.close();
SkPath path2(path);
-// DEBUG_UNDER_DEVELOPMENT fuzz763_4713 disable expectation check for now
- 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) {