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

Side by Side Diff: tests/PathOpsSimplifyTest.cpp

Issue 2338323002: quad and conic do not intersect (Closed)
Patch Set: turn off under development Created 4 years, 3 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/PathOpsFuzz763Test.cpp ('k') | tools/pathops_sorter.htm » ('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 2012 Google Inc. 2 * Copyright 2012 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 8
9 #define TEST(name) { name, #name } 9 #define TEST(name) { name, #name }
10 10
(...skipping 5313 matching lines...) Expand 10 before | Expand all | Expand 10 after
5324 } 5324 }
5325 tiger8b_x(reporter, filename, testlines); 5325 tiger8b_x(reporter, filename, testlines);
5326 } 5326 }
5327 } 5327 }
5328 } 5328 }
5329 5329
5330 static void tiger8b_h_1(skiatest::Reporter* reporter, const char* filename) { 5330 static void tiger8b_h_1(skiatest::Reporter* reporter, const char* filename) {
5331 #if DEBUG_UNDER_DEVELOPMENT // tiger 5331 #if DEBUG_UNDER_DEVELOPMENT // tiger
5332 return; 5332 return;
5333 #endif 5333 #endif
5334 uint64_t testlines = 0x0000000001000893; // best so far: 0x0000000001000893 5334 uint64_t testlines = 0x0000001000350204; // best so far: 0x0000000104080223
5335 tiger8b_x(reporter, filename, testlines); 5335 tiger8b_x(reporter, filename, testlines);
5336 } 5336 }
5337 5337
5338 // tries to add same edge twice 5338 // tries to add same edge twice
5339 static void tiger8b(skiatest::Reporter* reporter, const char* filename) { 5339 static void tiger8b(skiatest::Reporter* reporter, const char* filename) {
5340 #if DEBUG_UNDER_DEVELOPMENT // tiger 5340 #if DEBUG_UNDER_DEVELOPMENT // tiger
5341 return; 5341 return;
5342 #endif 5342 #endif
5343 SkPath path; 5343 SkPath path;
5344 path.moveTo(SkBits2Float(0x43f72ca1), SkBits2Float(0x43609572)); // 494.349f, 2 24.584f 5344 path.moveTo(SkBits2Float(0x43f72ca1), SkBits2Float(0x43609572)); // 494.349f, 2 24.584f
(...skipping 30 matching lines...) Expand all
5375 path.lineTo(SkBits2Float(0x43ffcaf2), SkBits2Float(0x43541e6d)); // 511.586f, 2 12.119f 5375 path.lineTo(SkBits2Float(0x43ffcaf2), SkBits2Float(0x43541e6d)); // 511.586f, 2 12.119f
5376 path.quadTo(SkBits2Float(0x43fd4888), SkBits2Float(0x435a7d38), SkBits2Float(0x4 3f8d864), SkBits2Float(0x435b4bbf)); // 506.567f, 218.489f, 497.691f, 219.296f 5376 path.quadTo(SkBits2Float(0x43fd4888), SkBits2Float(0x435a7d38), SkBits2Float(0x4 3f8d864), SkBits2Float(0x435b4bbf)); // 506.567f, 218.489f, 497.691f, 219.296f
5377 path.lineTo(SkBits2Float(0x43f8cccd), SkBits2Float(0x435a4ccc)); // 497.6f, 218 .3f 5377 path.lineTo(SkBits2Float(0x43f8cccd), SkBits2Float(0x435a4ccc)); // 497.6f, 218 .3f
5378 path.lineTo(SkBits2Float(0x43f8e5e7), SkBits2Float(0x435b47d3)); // 497.796f, 2 19.281f 5378 path.lineTo(SkBits2Float(0x43f8e5e7), SkBits2Float(0x435b47d3)); // 497.796f, 2 19.281f
5379 path.quadTo(SkBits2Float(0x43f84300), SkBits2Float(0x435b88fd), SkBits2Float(0x4 3f7b75b), SkBits2Float(0x435c5e8e)); // 496.523f, 219.535f, 495.432f, 220.369f 5379 path.quadTo(SkBits2Float(0x43f84300), SkBits2Float(0x435b88fd), SkBits2Float(0x4 3f7b75b), SkBits2Float(0x435c5e8e)); // 496.523f, 219.535f, 495.432f, 220.369f
5380 path.quadTo(SkBits2Float(0x43f6b984), SkBits2Float(0x435de2c4), SkBits2Float(0x4 3f72ca1), SkBits2Float(0x43609572)); // 493.449f, 221.886f, 494.349f, 224.584f 5380 path.quadTo(SkBits2Float(0x43f6b984), SkBits2Float(0x435de2c4), SkBits2Float(0x4 3f72ca1), SkBits2Float(0x43609572)); // 493.449f, 221.886f, 494.349f, 224.584f
5381 path.close(); 5381 path.close();
5382 testSimplify(reporter, path, filename); 5382 testSimplify(reporter, path, filename);
5383 } 5383 }
5384 5384
5385 // FIXME: this should not fail -- it was isolated looking for the root cause to fuzz763_4713
5386 // it fails with and without that change
5387 static void fuzz763_4713_b(skiatest::Reporter* reporter, const char* filename) { 5385 static void fuzz763_4713_b(skiatest::Reporter* reporter, const char* filename) {
5388 SkPath path; 5386 SkPath path;
5389 path.setFillType((SkPath::FillType) 0); 5387 path.setFillType((SkPath::FillType) 0);
5390 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000)); 5388 path.moveTo(SkBits2Float(0x42240000), SkBits2Float(0x42040000));
5391 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e)); 5389 path.quadTo(SkBits2Float(0x42240000), SkBits2Float(0x4211413d), SkBits2Float(0x4 21aa09e), SkBits2Float(0x421aa09e));
5392 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); 5390 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
5393 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); 5391 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
5394 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); 5392 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
5395 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); 5393 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
5396 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000)); 5394 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x41c80000), SkBits2Float(0x4 2040000), SkBits2Float(0x41c80000));
(...skipping 12 matching lines...) Expand all
5409 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000)); 5407 path.quadTo(SkBits2Float(0x4211413d), SkBits2Float(0x42240000), SkBits2Float(0x4 2040000), SkBits2Float(0x42240000));
5410 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e)); 5408 path.quadTo(SkBits2Float(0x41ed7d86), SkBits2Float(0x42240000), SkBits2Float(0x4 1dabec3), SkBits2Float(0x421aa09e));
5411 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000)); 5409 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x4211413d), SkBits2Float(0x4 1c80000), SkBits2Float(0x42040000));
5412 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3)); 5410 path.quadTo(SkBits2Float(0x41c80000), SkBits2Float(0x41ed7d86), SkBits2Float(0x4 1dabec3), SkBits2Float(0x41dabec3));
5413 path.quadTo(SkBits2Float(0x41db19b1), SkBits2Float(0x41da63d5), SkBits2Float(0x4 1db755b), SkBits2Float(0x41da0a9b)); 5411 path.quadTo(SkBits2Float(0x41db19b1), SkBits2Float(0x41da63d5), SkBits2Float(0x4 1db755b), SkBits2Float(0x41da0a9b));
5414 path.quadTo(SkBits2Float(0x41dbce01), SkBits2Float(0x41d9ae59), SkBits2Float(0x4 1dc285e), SkBits2Float(0x41d952ce)); 5412 path.quadTo(SkBits2Float(0x41dbce01), SkBits2Float(0x41d9ae59), SkBits2Float(0x4 1dc285e), SkBits2Float(0x41d952ce));
5415 path.quadTo(SkBits2Float(0x41dc55b6), SkBits2Float(0x41d924df), SkBits2Float(0x4 1dc82cd), SkBits2Float(0x41d8f7cd)); 5413 path.quadTo(SkBits2Float(0x41dc55b6), SkBits2Float(0x41d924df), SkBits2Float(0x4 1dc82cd), SkBits2Float(0x41d8f7cd));
5416 path.quadTo(SkBits2Float(0x41dcaf1e), SkBits2Float(0x41d8ca01), SkBits2Float(0x4 1dcdc4c), SkBits2Float(0x41d89bf0)); 5414 path.quadTo(SkBits2Float(0x41dcaf1e), SkBits2Float(0x41d8ca01), SkBits2Float(0x4 1dcdc4c), SkBits2Float(0x41d89bf0));
5417 path.quadTo(SkBits2Float(0x41ef6c33), SkBits2Float(0x41c5aec5), SkBits2Float(0x4 204f72e), SkBits2Float(0x41c56cd2)); 5415 path.quadTo(SkBits2Float(0x41ef6c33), SkBits2Float(0x41c5aec5), SkBits2Float(0x4 204f72e), SkBits2Float(0x41c56cd2));
5418 path.close(); 5416 path.close();
5419 // DEBUG_UNDER_DEVELOPMENT fuzz763_4713_b disable expectation check for now 5417 testSimplify(reporter, path, filename);
5420 testSimplifyCheck(reporter, path, filename, !FLAGS_runFail);
5421 } 5418 }
5422 5419
5423 static void dean4(skiatest::Reporter* reporter, const char* filename) { 5420 static void dean4(skiatest::Reporter* reporter, const char* filename) {
5424 // FIXME: This fails unexpectedly when GYP_DEFINES="skia_fast=1" is set on a z84 0 calibre machine 5421 // FIXME: This fails unexpectedly when GYP_DEFINES="skia_fast=1" is set on a z84 0 calibre machine
5425 #if DEBUG_UNDER_DEVELOPMENT 5422 #if DEBUG_UNDER_DEVELOPMENT
5426 return; 5423 return;
5427 #endif 5424 #endif
5428 SkPath path; 5425 SkPath path;
5429 5426
5430 // start region 5427 // start region
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
5852 path.quadTo(2, 3, 3, 3); 5849 path.quadTo(2, 3, 3, 3);
5853 path.lineTo(3, 3); 5850 path.lineTo(3, 3);
5854 path.close(); 5851 path.close();
5855 path.moveTo(0, 1); 5852 path.moveTo(0, 1);
5856 path.lineTo(2, 2); 5853 path.lineTo(2, 2);
5857 path.quadTo(1, 3, 3, 3); 5854 path.quadTo(1, 3, 3, 3);
5858 path.close(); 5855 path.close();
5859 testSimplify(reporter, path, filename); 5856 testSimplify(reporter, path, filename);
5860 } 5857 }
5861 5858
5859 static void testQuads73(skiatest::Reporter* reporter, const char* filename) {
5860 SkPath path;
5861 path.moveTo(0, 0);
5862 path.quadTo(0, 1, 1, 2);
5863 path.lineTo(0, 3);
5864 path.close();
5865 path.moveTo(0, 0);
5866 path.lineTo(0, 0);
5867 path.quadTo(0, 1, 1, 1);
5868 path.close();
5869 testSimplify(reporter, path, filename);
5870 }
5871
5862 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; 5872 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
5863 static void (*firstTest)(skiatest::Reporter* , const char* filename) = tiger8b_h _1; 5873 static void (*firstTest)(skiatest::Reporter* , const char* filename) = tiger8b_h _1;
5864 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 5874 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
5865 5875
5866 static TestDesc tests[] = { 5876 static TestDesc tests[] = {
5877 TEST(testQuads73),
5867 TEST(tiger8a_h_1), 5878 TEST(tiger8a_h_1),
5868 TEST(tiger8a_h), 5879 TEST(tiger8a_h),
5869 TEST(tiger8a), 5880 TEST(tiger8a),
5870 TEST(tiger8b_h_1), 5881 TEST(tiger8b_h_1),
5871 TEST(tiger8b_h), 5882 TEST(tiger8b_h),
5872 TEST(tiger8b), 5883 TEST(tiger8b),
5873 TEST(tiger8), 5884 TEST(tiger8),
5874 TEST(testQuads72), 5885 TEST(testQuads72),
5875 TEST(testQuads71), 5886 TEST(testQuads71),
5876 TEST(testQuads70), 5887 TEST(testQuads70),
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
6327 6338
6328 DEF_TEST(PathOpsSimplify, reporter) { 6339 DEF_TEST(PathOpsSimplify, reporter) {
6329 if (runSubTests && runSubTestsFirst) { 6340 if (runSubTests && runSubTestsFirst) {
6330 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop Test, runReverse); 6341 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop Test, runReverse);
6331 } 6342 }
6332 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse); 6343 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev erse);
6333 if (runSubTests && !runSubTestsFirst) { 6344 if (runSubTests && !runSubTestsFirst) {
6334 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop Test, runReverse); 6345 RunTestSet(reporter, subTests, subTestCount, firstSubTest, nullptr, stop Test, runReverse);
6335 } 6346 }
6336 } 6347 }
OLDNEW
« no previous file with comments | « tests/PathOpsFuzz763Test.cpp ('k') | tools/pathops_sorter.htm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698