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

Side by Side Diff: tests/PathOpsBattles.cpp

Issue 633393002: harden pathops for pathological test (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: exclude new test that asserts in debug Created 6 years, 1 month 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 | « src/pathops/SkReduceOrder.cpp ('k') | tests/PathOpsDebug.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 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 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 #define TEST(name) { name, #name } 10 #define TEST(name) { name, #name }
(...skipping 1255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x 423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc2 1dd57e)); 1266 path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x 423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc2 1dd57e));
1267 path.lineTo(SkBits2Float(0x427a1b1e), SkBits2Float(0xc25a5642)); 1267 path.lineTo(SkBits2Float(0x427a1b1e), SkBits2Float(0xc25a5642));
1268 path.close(); 1268 path.close();
1269 1269
1270 SkPath path2(path); 1270 SkPath path2(path);
1271 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1271 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1272 } 1272 }
1273 // op end success 1 1273 // op end success 1
1274 1274
1275 static void battleOp46(skiatest::Reporter* reporter, const char* filename) { 1275 static void battleOp46(skiatest::Reporter* reporter, const char* filename) {
1276 if (!FLAGS_runFail) {
1277 return;
1278 }
1279 SkPath path; 1276 SkPath path;
1280 path.setFillType((SkPath::FillType) 1); 1277 path.setFillType((SkPath::FillType) 1);
1281 path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc26fffff)); 1278 path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc26fffff));
1282 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 1279 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
1283 path.cubicTo(SkBits2Float(0x41bfbd07), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 423b0ef1), SkBits2Float(0xc2914772), SkBits2Float(0x427a1b1e), SkBits2Float(0xc2 5a5642)); 1280 path.cubicTo(SkBits2Float(0x41bfbd07), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 423b0ef1), SkBits2Float(0xc2914772), SkBits2Float(0x427a1b1e), SkBits2Float(0xc2 5a5642));
1284 path.cubicTo(SkBits2Float(0x4280286a), SkBits2Float(0xc253393c), SkBits2Float(0x 42831c11), SkBits2Float(0xc24bd939), SkBits2Float(0x4285e673), SkBits2Float(0xc2 443b5f)); 1281 path.cubicTo(SkBits2Float(0x4280286a), SkBits2Float(0xc253393c), SkBits2Float(0x 42831c11), SkBits2Float(0xc24bd939), SkBits2Float(0x4285e673), SkBits2Float(0xc2 443b5f));
1285 path.lineTo(SkBits2Float(0x42419733), SkBits2Float(0xc20ddaba)); 1282 path.lineTo(SkBits2Float(0x42419733), SkBits2Float(0xc20ddaba));
1286 path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x 423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc2 1dd57e)); 1283 path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x 423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc2 1dd57e));
1287 path.lineTo(SkBits2Float(0x4234ccaa), SkBits2Float(0xc21dd57d)); 1284 path.lineTo(SkBits2Float(0x4234ccaa), SkBits2Float(0xc21dd57d));
1288 path.cubicTo(SkBits2Float(0x42073912), SkBits2Float(0xc2520ac5), SkBits2Float(0x 418a9b2a), SkBits2Float(0xc26fffff), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 6fffff)); 1285 path.cubicTo(SkBits2Float(0x42073912), SkBits2Float(0xc2520ac5), SkBits2Float(0x 418a9b2a), SkBits2Float(0xc26fffff), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 6fffff));
1289 path.close(); 1286 path.close();
1290 1287
1291 SkPath path1(path); 1288 SkPath path1(path);
1292 path.reset(); 1289 path.reset();
1293 path.setFillType((SkPath::FillType) 0); 1290 path.setFillType((SkPath::FillType) 0);
1294 path.moveTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f)); 1291 path.moveTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
1295 path.cubicTo(SkBits2Float(0x42b50145), SkBits2Float(0xc1875361), SkBits2Float(0x 42afc74e), SkBits2Float(0x41db6d5e), SkBits2Float(0x4272e616), SkBits2Float(0x42 6253de)); 1292 path.cubicTo(SkBits2Float(0x42b50145), SkBits2Float(0xc1875361), SkBits2Float(0x 42afc74e), SkBits2Float(0x41db6d5e), SkBits2Float(0x4272e616), SkBits2Float(0x42 6253de));
1296 path.lineTo(SkBits2Float(0x422f96e8), SkBits2Float(0x42239c3e)); 1293 path.lineTo(SkBits2Float(0x422f96e8), SkBits2Float(0x42239c3e));
1297 path.cubicTo(SkBits2Float(0x427e233c), SkBits2Float(0x419e9f42), SkBits2Float(0x 4282d8d3), SkBits2Float(0xc143a6d1), SkBits2Float(0x42419734), SkBits2Float(0xc2 0ddabb)); 1294 path.cubicTo(SkBits2Float(0x427e233c), SkBits2Float(0x419e9f42), SkBits2Float(0x 4282d8d3), SkBits2Float(0xc143a6d1), SkBits2Float(0x42419734), SkBits2Float(0xc2 0ddabb));
1298 path.lineTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f)); 1295 path.lineTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
1299 path.close(); 1296 path.close();
1300 1297
1301 SkPath path2(path); 1298 SkPath path2(path);
1302 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1299 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
1303 } 1300 }
1304 // op end success 1 1301 // op end success 1
1305 1302
1306 static void battleOp47(skiatest::Reporter* reporter, const char* filename) { 1303 static void battleOp47(skiatest::Reporter* reporter, const char* filename) {
1307 SkPath path; 1304 SkPath path;
1308 path.setFillType((SkPath::FillType) 0); 1305 path.setFillType((SkPath::FillType) 0);
1309 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1306 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1310 path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb70), SkBits2Float(0xc2 41f0ca)); 1307 path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb70), SkBits2Float(0xc2 41f0ca));
1311 path.lineTo(SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1)); 1308 path.lineTo(SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1));
1312 path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x 419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000)); 1309 path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x 419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000));
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x 42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc1 8be3fd)); 1480 path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x 42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc1 8be3fd));
1484 path.lineTo(SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183e9)); 1481 path.lineTo(SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183e9));
1485 path.close(); 1482 path.close();
1486 1483
1487 SkPath path2(path); 1484 SkPath path2(path);
1488 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1485 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1489 } 1486 }
1490 // op end success 1 1487 // op end success 1
1491 1488
1492 static void battleOp54(skiatest::Reporter* reporter, const char* filename) { 1489 static void battleOp54(skiatest::Reporter* reporter, const char* filename) {
1493 if (!FLAGS_runFail) {
1494 return;
1495 }
1496 SkPath path; 1490 SkPath path;
1497 path.setFillType((SkPath::FillType) 1); 1491 path.setFillType((SkPath::FillType) 1);
1498 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 1492 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
1499 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 1493 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
1500 path.cubicTo(SkBits2Float(0x421216db), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4289817d), SkBits2Float(0xc26c814f), SkBits2Float(0x429ecb3a), SkBits2Float(0xc1 c183ed)); 1494 path.cubicTo(SkBits2Float(0x421216db), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4289817d), SkBits2Float(0xc26c814f), SkBits2Float(0x429ecb3a), SkBits2Float(0xc1 c183ed));
1501 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595d)); 1495 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595d));
1502 path.lineTo(SkBits2Float(0x426c9cb2), SkBits2Float(0xc120bbfa)); 1496 path.lineTo(SkBits2Float(0x426c9cb2), SkBits2Float(0xc120bbfa));
1503 path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x 42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc1 8be3fd)); 1497 path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x 42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc1 8be3fd));
1504 path.lineTo(SkBits2Float(0x426594dc), SkBits2Float(0xc18be3fc)); 1498 path.lineTo(SkBits2Float(0x426594dc), SkBits2Float(0xc18be3fc));
1505 path.cubicTo(SkBits2Float(0x4246cdba), SkBits2Float(0xc22af7b1), SkBits2Float(0x 41d336a3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000)); 1499 path.cubicTo(SkBits2Float(0x4246cdba), SkBits2Float(0xc22af7b1), SkBits2Float(0x 41d336a3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000));
1506 path.close(); 1500 path.close();
1507 1501
1508 SkPath path1(path); 1502 SkPath path1(path);
1509 path.reset(); 1503 path.reset();
1510 path.setFillType((SkPath::FillType) 0); 1504 path.setFillType((SkPath::FillType) 0);
1511 path.moveTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e)); 1505 path.moveTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
1512 path.cubicTo(SkBits2Float(0x42ad725e), SkBits2Float(0x416ed313), SkBits2Float(0x 42982fa2), SkBits2Float(0x4230cc44), SkBits2Float(0x42575fca), SkBits2Float(0x42 7ca963)); 1506 path.cubicTo(SkBits2Float(0x42ad725e), SkBits2Float(0x416ed313), SkBits2Float(0x 42982fa2), SkBits2Float(0x4230cc44), SkBits2Float(0x42575fca), SkBits2Float(0x42 7ca963));
1513 path.cubicTo(SkBits2Float(0x41fcc0a1), SkBits2Float(0x42a44341), SkBits2Float(0x 3f80ed4e), SkBits2Float(0x42affc4e), SkBits2Float(0xc1d56b7f), SkBits2Float(0x42 9d3115)); 1507 path.cubicTo(SkBits2Float(0x41fcc0a1), SkBits2Float(0x42a44341), SkBits2Float(0x 3f80ed4e), SkBits2Float(0x42affc4e), SkBits2Float(0xc1d56b7f), SkBits2Float(0x42 9d3115));
1514 path.lineTo(SkBits2Float(0xc19a478e), SkBits2Float(0x426343e2)); 1508 path.lineTo(SkBits2Float(0xc19a478e), SkBits2Float(0x426343e2));
1515 path.cubicTo(SkBits2Float(0x3f3a6666), SkBits2Float(0x427e6fe0), SkBits2Float(0x 41b6b66f), SkBits2Float(0x426d7d04), SkBits2Float(0x421bb135), SkBits2Float(0x42 36a5a5)); 1509 path.cubicTo(SkBits2Float(0x3f3a6666), SkBits2Float(0x427e6fe0), SkBits2Float(0x 41b6b66f), SkBits2Float(0x426d7d04), SkBits2Float(0x421bb135), SkBits2Float(0x42 36a5a5));
1516 path.cubicTo(SkBits2Float(0x425c0733), SkBits2Float(0x41ff9c8c), SkBits2Float(0x 427ac435), SkBits2Float(0x412ca4f2), SkBits2Float(0x426c9cb3), SkBits2Float(0xc1 20bbf8)); 1510 path.cubicTo(SkBits2Float(0x425c0733), SkBits2Float(0x41ff9c8c), SkBits2Float(0x 427ac435), SkBits2Float(0x412ca4f2), SkBits2Float(0x426c9cb3), SkBits2Float(0xc1 20bbf8));
1517 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e)); 1511 path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
1518 path.close(); 1512 path.close();
1519 1513
1520 SkPath path2(path); 1514 SkPath path2(path);
1521 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1515 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
1522 } 1516 }
1523 // op end success 1 1517 // op end success 1
1524 1518
1525 static void battleOp55(skiatest::Reporter* reporter, const char* filename) { 1519 static void battleOp55(skiatest::Reporter* reporter, const char* filename) {
1526 SkPath path; 1520 SkPath path;
1527 path.setFillType((SkPath::FillType) 0); 1521 path.setFillType((SkPath::FillType) 0);
1528 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1522 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1529 path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc1 6b5614)); 1523 path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc1 6b5614));
1530 path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61)); 1524 path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
1531 path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x 41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000)); 1525 path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x 41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000));
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1625 path.cubicTo(SkBits2Float(0x4228a0e3), SkBits2Float(0x424550a9), SkBits2Float(0x 426a177b), SkBits2Float(0x41e03b19), SkBits2Float(0x426f9fb0), SkBits2Float(0x40 56ee3a)); 1619 path.cubicTo(SkBits2Float(0x4228a0e3), SkBits2Float(0x424550a9), SkBits2Float(0x 426a177b), SkBits2Float(0x41e03b19), SkBits2Float(0x426f9fb0), SkBits2Float(0x40 56ee3a));
1626 path.lineTo(SkBits2Float(0x42a5bd62), SkBits2Float(0x4094a90c)); 1620 path.lineTo(SkBits2Float(0x42a5bd62), SkBits2Float(0x4094a90c));
1627 path.close(); 1621 path.close();
1628 1622
1629 SkPath path2(path); 1623 SkPath path2(path);
1630 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1624 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1631 } 1625 }
1632 // op end success 1 1626 // op end success 1
1633 1627
1634 static void battleOp59(skiatest::Reporter* reporter, const char* filename) { // hung 1628 static void battleOp59(skiatest::Reporter* reporter, const char* filename) { // hung
1635 if (!FLAGS_runFail) {
1636 return;
1637 }
1638 SkPath path; 1629 SkPath path;
1639 path.setFillType((SkPath::FillType) 0); 1630 path.setFillType((SkPath::FillType) 0);
1640 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1631 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1641 path.cubicTo(SkBits2Float(0x423693bc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42a57249), SkBits2Float(0xc2389374), SkBits2Float(0x42a5ff3a), SkBits2Float(0xbf 002494)); 1632 path.cubicTo(SkBits2Float(0x423693bc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42a57249), SkBits2Float(0xc2389374), SkBits2Float(0x42a5ff3a), SkBits2Float(0xbf 002494));
1642 path.lineTo(SkBits2Float(0x426ffee2), SkBits2Float(0xbeb944c3)); 1633 path.lineTo(SkBits2Float(0x426ffee2), SkBits2Float(0xbeb944c3));
1643 path.cubicTo(SkBits2Float(0x426f331d), SkBits2Float(0xc2056daf), SkBits2Float(0x 4203fbc4), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000)); 1634 path.cubicTo(SkBits2Float(0x426f331d), SkBits2Float(0xc2056daf), SkBits2Float(0x 4203fbc4), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000));
1644 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1635 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1645 path.close(); 1636 path.close();
1646 1637
1647 SkPath path1(path); 1638 SkPath path1(path);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1729 path.cubicTo(SkBits2Float(0x4002419e), SkBits2Float(0xc26fdcaf), SkBits2Float(0x 3ffc5fdb), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c61), SkBits2Float(0xc2 6fe0ed)); 1720 path.cubicTo(SkBits2Float(0x4002419e), SkBits2Float(0xc26fdcaf), SkBits2Float(0x 3ffc5fdb), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c61), SkBits2Float(0xc2 6fe0ed));
1730 path.lineTo(SkBits2Float(0x4028ee15), SkBits2Float(0xc2a5ea81)); 1721 path.lineTo(SkBits2Float(0x4028ee15), SkBits2Float(0xc2a5ea81));
1731 path.close(); 1722 path.close();
1732 1723
1733 SkPath path2(path); 1724 SkPath path2(path);
1734 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1725 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1735 } 1726 }
1736 // op end success 1 1727 // op end success 1
1737 1728
1738 static void battleOp63(skiatest::Reporter* reporter, const char* filename) { 1729 static void battleOp63(skiatest::Reporter* reporter, const char* filename) {
1739 if (!FLAGS_runFail) {
1740 return;
1741 }
1742 SkPath path; 1730 SkPath path;
1743 path.setFillType((SkPath::FillType) 1); 1731 path.setFillType((SkPath::FillType) 1);
1744 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 1732 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
1745 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 1733 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
1746 path.cubicTo(SkBits2Float(0x3f614848), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3fe14683), SkBits2Float(0xc2a5f8d5), SkBits2Float(0x4028ee15), SkBits2Float(0xc2 a5ea81)); 1734 path.cubicTo(SkBits2Float(0x3f614848), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3fe14683), SkBits2Float(0xc2a5f8d5), SkBits2Float(0x4028ee15), SkBits2Float(0xc2 a5ea81));
1747 path.cubicTo(SkBits2Float(0x402e8f25), SkBits2Float(0xc2a5e912), SkBits2Float(0x 40343026), SkBits2Float(0xc2a5e791), SkBits2Float(0x4039d111), SkBits2Float(0xc2 a5e5fd)); 1735 path.cubicTo(SkBits2Float(0x402e8f25), SkBits2Float(0xc2a5e912), SkBits2Float(0x 40343026), SkBits2Float(0xc2a5e791), SkBits2Float(0x4039d111), SkBits2Float(0xc2 a5e5fd));
1748 path.lineTo(SkBits2Float(0x4006533c), SkBits2Float(0xc26fda66)); 1736 path.lineTo(SkBits2Float(0x4006533c), SkBits2Float(0xc26fda66));
1749 path.cubicTo(SkBits2Float(0x400241a2), SkBits2Float(0xc26fdcaf), SkBits2Float(0x 3ffc5fea), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c76), SkBits2Float(0xc2 6fe0ec)); 1737 path.cubicTo(SkBits2Float(0x400241a2), SkBits2Float(0xc26fdcaf), SkBits2Float(0x 3ffc5fea), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c76), SkBits2Float(0xc2 6fe0ec));
1750 path.cubicTo(SkBits2Float(0x3fa2d98a), SkBits2Float(0xc26ff5a4), SkBits2Float(0x 3f22dad5), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000)); 1738 path.cubicTo(SkBits2Float(0x3fa2d98a), SkBits2Float(0xc26ff5a4), SkBits2Float(0x 3f22dad5), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000));
1751 path.close(); 1739 path.close();
1752 path.moveTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297)); 1740 path.moveTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297));
1753 path.lineTo(SkBits2Float(0x3ff43c61), SkBits2Float(0xc26fe0ed)); 1741 path.lineTo(SkBits2Float(0x3ff43c61), SkBits2Float(0xc26fe0ed));
1754 path.lineTo(SkBits2Float(0x3ff43c77), SkBits2Float(0xc26fe0ed)); 1742 path.lineTo(SkBits2Float(0x3ff43c77), SkBits2Float(0xc26fe0ed));
1755 path.lineTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297)); 1743 path.lineTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297));
1756 path.close(); 1744 path.close();
1757 1745
1758 SkPath path1(path); 1746 SkPath path1(path);
1759 path.reset(); 1747 path.reset();
1760 path.setFillType((SkPath::FillType) 0); 1748 path.setFillType((SkPath::FillType) 0);
1761 path.moveTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe)); 1749 path.moveTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
1762 path.cubicTo(SkBits2Float(0x408a83ff), SkBits2Float(0xc2a5cc72), SkBits2Float(0x 40b8130f), SkBits2Float(0xc2a5a01a), SkBits2Float(0x40e58a06), SkBits2Float(0xc2 a56100)); 1750 path.cubicTo(SkBits2Float(0x408a83ff), SkBits2Float(0xc2a5cc72), SkBits2Float(0x 40b8130f), SkBits2Float(0xc2a5a01a), SkBits2Float(0x40e58a06), SkBits2Float(0xc2 a56100));
1763 path.lineTo(SkBits2Float(0x40a5ee90), SkBits2Float(0xc26f1a20)); 1751 path.lineTo(SkBits2Float(0x40a5ee90), SkBits2Float(0xc26f1a20));
1764 path.cubicTo(SkBits2Float(0x408510de), SkBits2Float(0xc26f755e), SkBits2Float(0x 40484386), SkBits2Float(0xc26fb57a), SkBits2Float(0x40065347), SkBits2Float(0xc2 6fda68)); 1752 path.cubicTo(SkBits2Float(0x408510de), SkBits2Float(0xc26f755e), SkBits2Float(0x 40484386), SkBits2Float(0xc26fb57a), SkBits2Float(0x40065347), SkBits2Float(0xc2 6fda68));
1765 path.lineTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe)); 1753 path.lineTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
1766 path.close(); 1754 path.close();
1767 1755
1768 SkPath path2(path); 1756 SkPath path2(path);
1769 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1757 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
1770 } 1758 }
1771 // op end success 1 1759 // op end success 1
1772 1760
1773 static void battleOp64(skiatest::Reporter* reporter, const char* filename) { 1761 static void battleOp64(skiatest::Reporter* reporter, const char* filename) {
1774 SkPath path; 1762 SkPath path;
1775 path.setFillType((SkPath::FillType) 0); 1763 path.setFillType((SkPath::FillType) 0);
1776 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 1764 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
1777 path.cubicTo(SkBits2Float(0x3faf587e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 402f5505), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372de), SkBits2Float(0xc2 a5cbeb)); 1765 path.cubicTo(SkBits2Float(0x3faf587e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 402f5505), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372de), SkBits2Float(0xc2 a5cbeb));
1778 path.lineTo(SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6)); 1766 path.lineTo(SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6));
1779 path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x 3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2 700000)); 1767 path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x 3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2 700000));
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1889 path.reset(); 1877 path.reset();
1890 path.setFillType((SkPath::FillType) 0); 1878 path.setFillType((SkPath::FillType) 0);
1891 path.moveTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d)); 1879 path.moveTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
1892 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b)); 1880 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b));
1893 path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3)); 1881 path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3));
1894 path.cubicTo(SkBits2Float(0x3eb36c27), SkBits2Float(0xc26ffef6), SkBits2Float(0x 3eadd0dd), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea83592), SkBits2Float(0xc2 6fff16)); 1882 path.cubicTo(SkBits2Float(0x3eb36c27), SkBits2Float(0xc26ffef6), SkBits2Float(0x 3eadd0dd), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea83592), SkBits2Float(0xc2 6fff16));
1895 path.lineTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d)); 1883 path.lineTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
1896 path.close(); 1884 path.close();
1897 1885
1898 SkPath path2(path); 1886 SkPath path2(path);
1899 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 1887 if (FLAGS_runFail) {
1888 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
1889 } else {
1890 testPathFailOp(reporter, path1, path2, (SkPathOp) 2, filename);
1891 }
1900 } 1892 }
1901 // op end success 1 1893 // op end success 1
1902 1894
1903 static void battleOp69(skiatest::Reporter* reporter, const char* filename) { 1895 static void battleOp69(skiatest::Reporter* reporter, const char* filename) {
1904 SkPath path; 1896 SkPath path;
1905 path.setFillType((SkPath::FillType) 1); 1897 path.setFillType((SkPath::FillType) 1);
1906 path.moveTo(SkBits2Float(0x36b67768), SkBits2Float(0xc2700000)); 1898 path.moveTo(SkBits2Float(0x36b67768), SkBits2Float(0xc2700000));
1907 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 1899 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
1908 path.cubicTo(SkBits2Float(0x3e1b21b2), SkBits2Float(0xc2a60000), SkBits2Float(0x 3e9b20b0), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b040), SkBits2Float(0xc2 a5ff5d)); 1900 path.cubicTo(SkBits2Float(0x3e1b21b2), SkBits2Float(0xc2a60000), SkBits2Float(0x 3e9b20b0), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b040), SkBits2Float(0xc2 a5ff5d));
1909 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b)); 1901 path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x 3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2 a5ff3b));
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
2307 path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x 3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f88e), SkBits2Float(0xc2 6fe474)); 2299 path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x 3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f88e), SkBits2Float(0xc2 6fe474));
2308 path.lineTo(SkBits2Float(0x401f1027), SkBits2Float(0xc2a5ecf2)); 2300 path.lineTo(SkBits2Float(0x401f1027), SkBits2Float(0xc2a5ecf2));
2309 path.close(); 2301 path.close();
2310 2302
2311 SkPath path2(path); 2303 SkPath path2(path);
2312 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 2304 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
2313 } 2305 }
2314 // op end success 1 2306 // op end success 1
2315 2307
2316 static void battleOp85(skiatest::Reporter* reporter, const char* filename) { 2308 static void battleOp85(skiatest::Reporter* reporter, const char* filename) {
2317 if (!FLAGS_runFail) {
2318 return;
2319 }
2320 SkPath path; 2309 SkPath path;
2321 path.setFillType((SkPath::FillType) 1); 2310 path.setFillType((SkPath::FillType) 1);
2322 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 2311 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
2323 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 2312 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
2324 path.cubicTo(SkBits2Float(0x3f541e8b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3fd41d19), SkBits2Float(0xc2a5f9a6), SkBits2Float(0x401f1027), SkBits2Float(0xc2 a5ecf2)); 2313 path.cubicTo(SkBits2Float(0x3f541e8b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3fd41d19), SkBits2Float(0xc2a5f9a6), SkBits2Float(0x401f1027), SkBits2Float(0xc2 a5ecf2));
2325 path.cubicTo(SkBits2Float(0x40245d21), SkBits2Float(0xc2a5ebac), SkBits2Float(0x 4029aa04), SkBits2Float(0xc2a5ea57), SkBits2Float(0x402ef6d6), SkBits2Float(0xc2 a5e8f1)); 2314 path.cubicTo(SkBits2Float(0x40245d21), SkBits2Float(0xc2a5ebac), SkBits2Float(0x 4029aa04), SkBits2Float(0xc2a5ea57), SkBits2Float(0x402ef6d6), SkBits2Float(0xc2 a5e8f1));
2326 path.lineTo(SkBits2Float(0x3ffcf5ba), SkBits2Float(0xc26fdeaa)); 2315 path.lineTo(SkBits2Float(0x3ffcf5ba), SkBits2Float(0xc26fdeaa));
2327 path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x 3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f882), SkBits2Float(0xc2 6fe473)); 2316 path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x 3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f882), SkBits2Float(0xc2 6fe473));
2328 path.cubicTo(SkBits2Float(0x3f9955cf), SkBits2Float(0xc26ff6d2), SkBits2Float(0x 3f1956dc), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000)); 2317 path.cubicTo(SkBits2Float(0x3f9955cf), SkBits2Float(0xc26ff6d2), SkBits2Float(0x 3f1956dc), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000));
2329 path.close(); 2318 path.close();
(...skipping 1636 matching lines...) Expand 10 before | Expand all | Expand 10 after
3966 path.cubicTo(SkBits2Float(0x42583d5c), SkBits2Float(0x4206f5b6), SkBits2Float(0x 4279fe97), SkBits2Float(0x41470ec8), SkBits2Float(0x426d6866), SkBits2Float(0xc1 0cb6eb)); 3955 path.cubicTo(SkBits2Float(0x42583d5c), SkBits2Float(0x4206f5b6), SkBits2Float(0x 4279fe97), SkBits2Float(0x41470ec8), SkBits2Float(0x426d6866), SkBits2Float(0xc1 0cb6eb));
3967 path.lineTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb)); 3956 path.lineTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb));
3968 path.close(); 3957 path.close();
3969 3958
3970 SkPath path2(path); 3959 SkPath path2(path);
3971 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 3960 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
3972 } 3961 }
3973 // op end success 1 3962 // op end success 1
3974 3963
3975 static void battleOp148(skiatest::Reporter* reporter, const char* filename) { 3964 static void battleOp148(skiatest::Reporter* reporter, const char* filename) {
3976 if (!FLAGS_runFail) {
3977 return;
3978 }
3979 SkPath path; 3965 SkPath path;
3980 path.setFillType((SkPath::FillType) 0); 3966 path.setFillType((SkPath::FillType) 0);
3981 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 3967 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
3982 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b53), SkBits2Float(0xc1 639572)); 3968 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b53), SkBits2Float(0xc1 639572));
3983 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484b9)); 3969 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484b9));
3984 path.cubicTo(SkBits2Float(0x42587424), SkBits2Float(0xc21c154e), SkBits2Float(0x 41e95c08), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000)); 3970 path.cubicTo(SkBits2Float(0x42587424), SkBits2Float(0xc21c154e), SkBits2Float(0x 41e95c08), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000));
3985 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 3971 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
3986 path.close(); 3972 path.close();
3987 3973
3988 SkPath path1(path); 3974 SkPath path1(path);
3989 path.reset(); 3975 path.reset();
3990 path.setFillType((SkPath::FillType) 0); 3976 path.setFillType((SkPath::FillType) 0);
3991 path.moveTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578)); 3977 path.moveTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
3992 path.cubicTo(SkBits2Float(0x42a4def8), SkBits2Float(0xc1269090), SkBits2Float(0x 42a5a99a), SkBits2Float(0xc0d1c16f), SkBits2Float(0x42a5e9be), SkBits2Float(0xc0 2be63c)); 3978 path.cubicTo(SkBits2Float(0x42a4def8), SkBits2Float(0xc1269090), SkBits2Float(0x 42a5a99a), SkBits2Float(0xc0d1c16f), SkBits2Float(0x42a5e9be), SkBits2Float(0xc0 2be63c));
3993 path.lineTo(SkBits2Float(0x426fdfd2), SkBits2Float(0xbff8877d)); 3979 path.lineTo(SkBits2Float(0x426fdfd2), SkBits2Float(0xbff8877d));
3994 path.cubicTo(SkBits2Float(0x426f8319), SkBits2Float(0xc097a16e), SkBits2Float(0x 426e5e22), SkBits2Float(0xc0f0d105), SkBits2Float(0x426c7311), SkBits2Float(0xc1 2484ba)); 3980 path.cubicTo(SkBits2Float(0x426f8319), SkBits2Float(0xc097a16e), SkBits2Float(0x 426e5e22), SkBits2Float(0xc0f0d105), SkBits2Float(0x426c7311), SkBits2Float(0xc1 2484ba));
3995 path.lineTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578)); 3981 path.lineTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
3996 path.close(); 3982 path.close();
3997 3983
3998 SkPath path2(path); 3984 SkPath path2(path);
3999 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 3985 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4000 } 3986 }
4001 // op end success 1 3987 // op end success 1
4002 3988
4003 static void battleOp149(skiatest::Reporter* reporter, const char* filename) { 3989 static void battleOp149(skiatest::Reporter* reporter, const char* filename) {
4004 SkPath path; 3990 SkPath path;
4005 path.setFillType((SkPath::FillType) 1); 3991 path.setFillType((SkPath::FillType) 1);
4006 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 3992 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
4007 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 3993 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4008 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b52), SkBits2Float(0xc1 639578)); 3994 path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x 4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b52), SkBits2Float(0xc1 639578));
4009 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba)); 3995 path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba));
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
4077 path.cubicTo(SkBits2Float(0x42236d8c), SkBits2Float(0x424a3945), SkBits2Float(0x 4267ebda), SkBits2Float(0x41eb1462), SkBits2Float(0x426f56cb), SkBits2Float(0x40 8e661a)); 4063 path.cubicTo(SkBits2Float(0x42236d8c), SkBits2Float(0x424a3945), SkBits2Float(0x 4267ebda), SkBits2Float(0x41eb1462), SkBits2Float(0x426f56cb), SkBits2Float(0x40 8e661a));
4078 path.lineTo(SkBits2Float(0x42a58af6), SkBits2Float(0x40c4fc3d)); 4064 path.lineTo(SkBits2Float(0x42a58af6), SkBits2Float(0x40c4fc3d));
4079 path.close(); 4065 path.close();
4080 4066
4081 SkPath path2(path); 4067 SkPath path2(path);
4082 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4068 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4083 } 4069 }
4084 // op end success 1 4070 // op end success 1
4085 4071
4086 static void battleOp152(skiatest::Reporter* reporter, const char* filename) { 4072 static void battleOp152(skiatest::Reporter* reporter, const char* filename) {
4087 if (!FLAGS_runFail) {
4088 return; // draws wrong
4089 }
4090 SkPath path; 4073 SkPath path;
4091 path.setFillType((SkPath::FillType) 0); 4074 path.setFillType((SkPath::FillType) 0);
4092 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4075 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4093 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3)); 4076 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3));
4094 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a4)); 4077 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a4));
4095 path.lineTo(SkBits2Float(0x426ffd4c), SkBits2Float(0x3f100c99)); 4078 path.lineTo(SkBits2Float(0x426ffd4c), SkBits2Float(0x3f100c99));
4096 path.cubicTo(SkBits2Float(0x4270970c), SkBits2Float(0xc177275d), SkBits2Float(0x 4257923d), SkBits2Float(0xc1f6d2bd), SkBits2Float(0x422a7fe2), SkBits2Float(0xc2 28e872)); 4079 path.cubicTo(SkBits2Float(0x4270970c), SkBits2Float(0xc177275d), SkBits2Float(0x 4257923d), SkBits2Float(0xc1f6d2bd), SkBits2Float(0x422a7fe2), SkBits2Float(0xc2 28e872));
4097 path.cubicTo(SkBits2Float(0x41fadb0b), SkBits2Float(0xc2566785), SkBits2Float(0x 41801584), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000)); 4080 path.cubicTo(SkBits2Float(0x41fadb0b), SkBits2Float(0xc2566785), SkBits2Float(0x 41801584), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2 700000));
4098 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4081 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4099 path.close(); 4082 path.close();
4100 4083
4101 SkPath path1(path); 4084 SkPath path1(path);
4102 path.reset(); 4085 path.reset();
4103 path.setFillType((SkPath::FillType) 0); 4086 path.setFillType((SkPath::FillType) 0);
4104 path.moveTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1)); 4087 path.moveTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
4105 path.cubicTo(SkBits2Float(0x42a5e921), SkBits2Float(0x40a4df91), SkBits2Float(0x 42a52322), SkBits2Float(0x411841f7), SkBits2Float(0x42a3adfe), SkBits2Float(0x41 5d43d0)); 4088 path.cubicTo(SkBits2Float(0x42a5e921), SkBits2Float(0x40a4df91), SkBits2Float(0x 42a52322), SkBits2Float(0x411841f7), SkBits2Float(0x42a3adfe), SkBits2Float(0x41 5d43d0));
4106 path.lineTo(SkBits2Float(0x426ca531), SkBits2Float(0x411ff355)); 4089 path.lineTo(SkBits2Float(0x426ca531), SkBits2Float(0x411ff355));
4107 path.cubicTo(SkBits2Float(0x426ec0ad), SkBits2Float(0x40dc21ae), SkBits2Float(0x 426fdeef), SkBits2Float(0x406e5efe), SkBits2Float(0x426ffd4d), SkBits2Float(0x3f 100c9b)); 4090 path.cubicTo(SkBits2Float(0x426ec0ad), SkBits2Float(0x40dc21ae), SkBits2Float(0x 426fdeef), SkBits2Float(0x406e5efe), SkBits2Float(0x426ffd4d), SkBits2Float(0x3f 100c9b));
4108 path.lineTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1)); 4091 path.lineTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
4109 path.close(); 4092 path.close();
4110 4093
4111 SkPath path2(path); 4094 SkPath path2(path);
4112 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4095 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4113 } 4096 }
4114 // op end success 1 4097 // op end success 1
4115 4098
4116 static void battleOp153(skiatest::Reporter* reporter, const char* filename) { 4099 static void battleOp153(skiatest::Reporter* reporter, const char* filename) {
4117 SkPath path; 4100 SkPath path;
4118 path.setFillType((SkPath::FillType) 1); 4101 path.setFillType((SkPath::FillType) 1);
4119 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 4102 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
4120 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4103 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4121 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3)); 4104 path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x 422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc2 69a7f3));
4122 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a0)); 4105 path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x 42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f 4744a0));
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
4222 path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x 426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x41 21ddaf)); 4205 path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x 426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x41 21ddaf));
4223 path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea20)); 4206 path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea20));
4224 path.close(); 4207 path.close();
4225 4208
4226 SkPath path2(path); 4209 SkPath path2(path);
4227 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4210 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4228 } 4211 }
4229 // op end success 1 4212 // op end success 1
4230 4213
4231 static void battleOp157(skiatest::Reporter* reporter, const char* filename) { 4214 static void battleOp157(skiatest::Reporter* reporter, const char* filename) {
4232 if (!FLAGS_runFail) {
4233 return; // draws wrong
4234 }
4235 SkPath path; 4215 SkPath path;
4236 path.setFillType((SkPath::FillType) 1); 4216 path.setFillType((SkPath::FillType) 1);
4237 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 4217 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
4238 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4218 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4239 path.cubicTo(SkBits2Float(0x41c3ae1a), SkBits2Float(0xc2a60000), SkBits2Float(0x 423eb2d3), SkBits2Float(0xc2906c00), SkBits2Float(0x427dc7c2), SkBits2Float(0xc2 560e13)); 4219 path.cubicTo(SkBits2Float(0x41c3ae1a), SkBits2Float(0xc2a60000), SkBits2Float(0x 423eb2d3), SkBits2Float(0xc2906c00), SkBits2Float(0x427dc7c2), SkBits2Float(0xc2 560e13));
4240 path.cubicTo(SkBits2Float(0x429e6e58), SkBits2Float(0xc20b4426), SkBits2Float(0x 42abdf2b), SkBits2Float(0xc121d7a8), SkBits2Float(0x42a39f93), SkBits2Float(0x41 5fea20)); 4220 path.cubicTo(SkBits2Float(0x429e6e58), SkBits2Float(0xc20b4426), SkBits2Float(0x 42abdf2b), SkBits2Float(0xc121d7a8), SkBits2Float(0x42a39f93), SkBits2Float(0x41 5fea20));
4241 path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea21)); 4221 path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea21));
4242 path.cubicTo(SkBits2Float(0x42a1ffad), SkBits2Float(0x4195f252), SkBits2Float(0x 429f8ce1), SkBits2Float(0x41bb4c45), SkBits2Float(0x429c4e4c), SkBits2Float(0x41 df969a)); 4222 path.cubicTo(SkBits2Float(0x42a1ffad), SkBits2Float(0x4195f252), SkBits2Float(0x 429f8ce1), SkBits2Float(0x41bb4c45), SkBits2Float(0x429c4e4c), SkBits2Float(0x41 df969a));
4243 path.lineTo(SkBits2Float(0x4261fbff), SkBits2Float(0x41a1a14e)); 4223 path.lineTo(SkBits2Float(0x4261fbff), SkBits2Float(0x41a1a14e));
4244 path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x 426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x41 21ddaf)); 4224 path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x 426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x41 21ddaf));
4245 path.lineTo(SkBits2Float(0x426c905a), SkBits2Float(0x4121ddae)); 4225 path.lineTo(SkBits2Float(0x426c905a), SkBits2Float(0x4121ddae));
4246 path.cubicTo(SkBits2Float(0x42787d42), SkBits2Float(0xc0e9fd34), SkBits2Float(0x 42650e94), SkBits2Float(0xc1c95949), SkBits2Float(0x423774a6), SkBits2Float(0xc2 1abd13)); 4226 path.cubicTo(SkBits2Float(0x42787d42), SkBits2Float(0xc0e9fd34), SkBits2Float(0x 42650e94), SkBits2Float(0xc1c95949), SkBits2Float(0x423774a6), SkBits2Float(0xc2 1abd13));
4247 path.cubicTo(SkBits2Float(0x4209dab9), SkBits2Float(0xc250cd81), SkBits2Float(0x 418d749b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000)); 4227 path.cubicTo(SkBits2Float(0x4209dab9), SkBits2Float(0xc250cd81), SkBits2Float(0x 418d749b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000));
4248 path.close(); 4228 path.close();
4249 4229
4250 SkPath path1(path); 4230 SkPath path1(path);
4251 path.reset(); 4231 path.reset();
4252 path.setFillType((SkPath::FillType) 0); 4232 path.setFillType((SkPath::FillType) 0);
4253 path.moveTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b)); 4233 path.moveTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
4254 path.cubicTo(SkBits2Float(0x4280e391), SkBits2Float(0x4284903f), SkBits2Float(0x 41c7a851), SkBits2Float(0x42b2072e), SkBits2Float(0xc1713833), SkBits2Float(0x42 a33d14)); 4234 path.cubicTo(SkBits2Float(0x4280e391), SkBits2Float(0x4284903f), SkBits2Float(0x 41c7a851), SkBits2Float(0x42b2072e), SkBits2Float(0xc1713833), SkBits2Float(0x42 a33d14));
4255 path.cubicTo(SkBits2Float(0xc25c7040), SkBits2Float(0x429472fb), SkBits2Float(0x c2a7bda2), SkBits2Float(0x421b8b2e), SkBits2Float(0xc2a5f5d6), SkBits2Float(0xbf e85110)); 4235 path.cubicTo(SkBits2Float(0xc25c7040), SkBits2Float(0x429472fb), SkBits2Float(0x c2a7bda2), SkBits2Float(0x421b8b2e), SkBits2Float(0xc2a5f5d6), SkBits2Float(0xbf e85110));
4256 path.lineTo(SkBits2Float(0xc26ff14f), SkBits2Float(0xbfa7f00b)); 4236 path.lineTo(SkBits2Float(0xc26ff14f), SkBits2Float(0xbfa7f00b));
4257 path.cubicTo(SkBits2Float(0xc272844c), SkBits2Float(0x41e0e1f3), SkBits2Float(0x c21f5a65), SkBits2Float(0x4256a019), SkBits2Float(0xc12e6015), SkBits2Float(0x42 6c01f9)); 4237 path.cubicTo(SkBits2Float(0xc272844c), SkBits2Float(0x41e0e1f3), SkBits2Float(0x c21f5a65), SkBits2Float(0x4256a019), SkBits2Float(0xc12e6015), SkBits2Float(0x42 6c01f9));
4258 path.cubicTo(SkBits2Float(0x419054b7), SkBits2Float(0x4280b1ec), SkBits2Float(0x 423a5877), SkBits2Float(0x423fa872), SkBits2Float(0x4261fc02), SkBits2Float(0x41 a1a142)); 4238 path.cubicTo(SkBits2Float(0x419054b7), SkBits2Float(0x4280b1ec), SkBits2Float(0x 423a5877), SkBits2Float(0x423fa872), SkBits2Float(0x4261fc02), SkBits2Float(0x41 a1a142));
4259 path.lineTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b)); 4239 path.lineTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
4260 path.close(); 4240 path.close();
4261 4241
4262 SkPath path2(path); 4242 SkPath path2(path);
4263 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4243 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4264 } 4244 }
4265 // op end success 1 4245 // op end success 1
4266 4246
4267 static void battleOp158(skiatest::Reporter* reporter, const char* filename) { 4247 static void battleOp158(skiatest::Reporter* reporter, const char* filename) {
4268 SkPath path; 4248 SkPath path;
4269 path.setFillType((SkPath::FillType) 0); 4249 path.setFillType((SkPath::FillType) 0);
4270 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4250 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4271 path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc2 4d8299)); 4251 path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc2 4d8299));
4272 path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x 42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x41 9b26cf)); 4252 path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x 42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x41 9b26cf));
4273 path.lineTo(SkBits2Float(0x42695b36), SkBits2Float(0x416050ca)); 4253 path.lineTo(SkBits2Float(0x42695b36), SkBits2Float(0x416050ca));
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
4401 path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x 425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bc), SkBits2Float(0x41 aa4e76)); 4381 path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x 425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bc), SkBits2Float(0x41 aa4e76));
4402 path.lineTo(SkBits2Float(0x429b3339), SkBits2Float(0x41eb9733)); 4382 path.lineTo(SkBits2Float(0x429b3339), SkBits2Float(0x41eb9733));
4403 path.close(); 4383 path.close();
4404 4384
4405 SkPath path2(path); 4385 SkPath path2(path);
4406 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4386 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4407 } 4387 }
4408 // op end success 1 4388 // op end success 1
4409 4389
4410 static void battleOp163(skiatest::Reporter* reporter, const char* filename) { 4390 static void battleOp163(skiatest::Reporter* reporter, const char* filename) {
4411 if (!FLAGS_runFail) {
4412 return; // draws wrong
4413 }
4414 SkPath path; 4391 SkPath path;
4415 path.setFillType((SkPath::FillType) 1); 4392 path.setFillType((SkPath::FillType) 1);
4416 path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000)); 4393 path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
4417 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4394 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4418 path.cubicTo(SkBits2Float(0x41da3d7f), SkBits2Float(0xc2a60000), SkBits2Float(0x 425345ee), SkBits2Float(0xc28b3082), SkBits2Float(0x4288a01b), SkBits2Float(0xc2 3c9177)); 4395 path.cubicTo(SkBits2Float(0x41da3d7f), SkBits2Float(0xc2a60000), SkBits2Float(0x 425345ee), SkBits2Float(0xc28b3082), SkBits2Float(0x4288a01b), SkBits2Float(0xc2 3c9177));
4419 path.cubicTo(SkBits2Float(0x42a79d3f), SkBits2Float(0xc1c583d9), SkBits2Float(0x 42ae8eeb), SkBits2Float(0x407c6461), SkBits2Float(0x429b3339), SkBits2Float(0x41 eb9733)); 4396 path.cubicTo(SkBits2Float(0x42a79d3f), SkBits2Float(0xc1c583d9), SkBits2Float(0x 42ae8eeb), SkBits2Float(0x407c6461), SkBits2Float(0x429b3339), SkBits2Float(0x41 eb9733));
4420 path.cubicTo(SkBits2Float(0x429766b3), SkBits2Float(0x4209d0f3), SkBits2Float(0x 4292a485), SkBits2Float(0x421d0e17), SkBits2Float(0x428cfdb5), SkBits2Float(0x42 2f3e33)); 4397 path.cubicTo(SkBits2Float(0x429766b3), SkBits2Float(0x4209d0f3), SkBits2Float(0x 4292a485), SkBits2Float(0x421d0e17), SkBits2Float(0x428cfdb5), SkBits2Float(0x42 2f3e33));
4421 path.lineTo(SkBits2Float(0x424bd7ac), SkBits2Float(0x41fd5d06)); 4398 path.lineTo(SkBits2Float(0x424bd7ac), SkBits2Float(0x41fd5d06));
4422 path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x 425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bb), SkBits2Float(0x41 aa4e75)); 4399 path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x 425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bb), SkBits2Float(0x41 aa4e75));
4423 path.cubicTo(SkBits2Float(0x427c5f9a), SkBits2Float(0x403673d5), SkBits2Float(0x 4272557b), SkBits2Float(0xc18ec82c), SkBits2Float(0x424587e0), SkBits2Float(0xc2 08507b)); 4400 path.cubicTo(SkBits2Float(0x427c5f9a), SkBits2Float(0x403673d5), SkBits2Float(0x 4272557b), SkBits2Float(0xc18ec82c), SkBits2Float(0x424587e0), SkBits2Float(0xc2 08507b));
4424 path.cubicTo(SkBits2Float(0x4218ba46), SkBits2Float(0xc2493ce1), SkBits2Float(0x 419dc399), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000)); 4401 path.cubicTo(SkBits2Float(0x4218ba46), SkBits2Float(0xc2493ce1), SkBits2Float(0x 419dc399), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000));
4425 path.close(); 4402 path.close();
4426 4403
4427 SkPath path1(path); 4404 SkPath path1(path);
4428 path.reset(); 4405 path.reset();
4429 path.setFillType((SkPath::FillType) 0); 4406 path.setFillType((SkPath::FillType) 0);
4430 path.moveTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36)); 4407 path.moveTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
4431 path.cubicTo(SkBits2Float(0x42397b9c), SkBits2Float(0x42a54202), SkBits2Float(0x c0931849), SkBits2Float(0x42bd474f), SkBits2Float(0xc22e0fe8), SkBits2Float(0x42 8d5ab7)); 4408 path.cubicTo(SkBits2Float(0x42397b9c), SkBits2Float(0x42a54202), SkBits2Float(0x c0931849), SkBits2Float(0x42bd474f), SkBits2Float(0xc22e0fe8), SkBits2Float(0x42 8d5ab7));
4432 path.cubicTo(SkBits2Float(0xc2a4de63), SkBits2Float(0x423adc3f), SkBits2Float(0x c2bd50df), SkBits2Float(0xc08673c0), SkBits2Float(0xc28db7cd), SkBits2Float(0xc2 2ce1b4)); 4409 path.cubicTo(SkBits2Float(0xc2a4de63), SkBits2Float(0x423adc3f), SkBits2Float(0x c2bd50df), SkBits2Float(0xc08673c0), SkBits2Float(0xc28db7cd), SkBits2Float(0xc2 2ce1b4));
4433 path.lineTo(SkBits2Float(0xc24ce4bb), SkBits2Float(0xc1f9f306)); 4410 path.lineTo(SkBits2Float(0xc24ce4bb), SkBits2Float(0xc1f9f306));
4434 path.cubicTo(SkBits2Float(0xc288db72), SkBits2Float(0xc0426216), SkBits2Float(0x c26e5ec8), SkBits2Float(0x42071590), SkBits2Float(0xc1fba9c9), SkBits2Float(0x42 4c5fa5)); 4411 path.cubicTo(SkBits2Float(0xc288db72), SkBits2Float(0xc0426216), SkBits2Float(0x c26e5ec8), SkBits2Float(0x42071590), SkBits2Float(0xc1fba9c9), SkBits2Float(0x42 4c5fa5));
4435 path.cubicTo(SkBits2Float(0xc054b001), SkBits2Float(0x4288d4dc), SkBits2Float(0x 420615fc), SkBits2Float(0x426eee67), SkBits2Float(0x424bd7af), SkBits2Float(0x41 fd5d01)); 4412 path.cubicTo(SkBits2Float(0xc054b001), SkBits2Float(0x4288d4dc), SkBits2Float(0x 420615fc), SkBits2Float(0x426eee67), SkBits2Float(0x424bd7af), SkBits2Float(0x41 fd5d01));
4436 path.lineTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36)); 4413 path.lineTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
4437 path.close(); 4414 path.close();
4438 4415
4439 SkPath path2(path); 4416 SkPath path2(path);
4440 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4417 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4441 } 4418 }
4442 // op end success 1 4419 // op end success 1
4443 4420
4444 static void battleOp164(skiatest::Reporter* reporter, const char* filename) { 4421 static void battleOp164(skiatest::Reporter* reporter, const char* filename) {
4445 SkPath path; 4422 SkPath path;
4446 path.setFillType((SkPath::FillType) 0); 4423 path.setFillType((SkPath::FillType) 0);
4447 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4424 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4448 path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2 340753)); 4425 path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2 340753));
4449 path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x 42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x42 08c1d5)); 4426 path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x 42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x42 08c1d5));
4450 path.lineTo(SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2)); 4427 path.lineTo(SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2));
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
4944 path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x 4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8c), SkBits2Float(0x42 1548fc)); 4921 path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x 4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8c), SkBits2Float(0x42 1548fc));
4945 path.lineTo(SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d5)); 4922 path.lineTo(SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d5));
4946 path.close(); 4923 path.close();
4947 4924
4948 SkPath path2(path); 4925 SkPath path2(path);
4949 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4926 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
4950 } 4927 }
4951 // op end success 1 4928 // op end success 1
4952 4929
4953 static void battleOp181(skiatest::Reporter* reporter, const char* filename) { 4930 static void battleOp181(skiatest::Reporter* reporter, const char* filename) {
4954 if (!FLAGS_runFail) {
4955 return; // draws wrong
4956 }
4957 SkPath path; 4931 SkPath path;
4958 path.setFillType((SkPath::FillType) 1); 4932 path.setFillType((SkPath::FillType) 1);
4959 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000)); 4933 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
4960 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4934 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
4961 path.cubicTo(SkBits2Float(0x41fed5d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 4273981d), SkBits2Float(0xc28189e8), SkBits2Float(0x42957e40), SkBits2Float(0xc2 10547e)); 4935 path.cubicTo(SkBits2Float(0x41fed5d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 4273981d), SkBits2Float(0xc28189e8), SkBits2Float(0x42957e40), SkBits2Float(0xc2 10547e));
4962 path.cubicTo(SkBits2Float(0x42b13073), SkBits2Float(0xc0eca961), SkBits2Float(0x 42a99b35), SkBits2Float(0x41d57c6c), SkBits2Float(0x4281fa62), SkBits2Float(0x42 4e82d5)); 4936 path.cubicTo(SkBits2Float(0x42b13073), SkBits2Float(0xc0eca961), SkBits2Float(0x 42a99b35), SkBits2Float(0x41d57c6c), SkBits2Float(0x4281fa62), SkBits2Float(0x42 4e82d5));
4963 path.cubicTo(SkBits2Float(0x4274817d), SkBits2Float(0x4261f5b7), SkBits2Float(0x 4262ebfa), SkBits2Float(0x42739d02), SkBits2Float(0x424f88b8), SkBits2Float(0x42 8191ef)); 4937 path.cubicTo(SkBits2Float(0x4274817d), SkBits2Float(0x4261f5b7), SkBits2Float(0x 4262ebfa), SkBits2Float(0x42739d02), SkBits2Float(0x424f88b8), SkBits2Float(0x42 8191ef));
4964 path.lineTo(SkBits2Float(0x4216064f), SkBits2Float(0x423b5489)); 4938 path.lineTo(SkBits2Float(0x4216064f), SkBits2Float(0x423b5489));
4965 path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x 4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8b), SkBits2Float(0x42 1548fc)); 4939 path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x 4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8b), SkBits2Float(0x42 1548fc));
4966 path.cubicTo(SkBits2Float(0x427536c2), SkBits2Float(0x419a53c7), SkBits2Float(0x 428016af), SkBits2Float(0xc0ab14a9), SkBits2Float(0x4258227d), SkBits2Float(0xc1 d0ab83)); 4940 path.cubicTo(SkBits2Float(0x427536c2), SkBits2Float(0x419a53c7), SkBits2Float(0x 428016af), SkBits2Float(0xc0ab14a9), SkBits2Float(0x4258227d), SkBits2Float(0xc1 d0ab83));
4967 path.cubicTo(SkBits2Float(0x4230179a), SkBits2Float(0xc23b48ee), SkBits2Float(0x 41b837da), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2 700000)); 4941 path.cubicTo(SkBits2Float(0x4230179a), SkBits2Float(0xc23b48ee), SkBits2Float(0x 41b837da), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2 700000));
4968 path.close(); 4942 path.close();
4969 4943
4970 SkPath path1(path); 4944 SkPath path1(path);
4971 path.reset(); 4945 path.reset();
4972 path.setFillType((SkPath::FillType) 0); 4946 path.setFillType((SkPath::FillType) 0);
4973 path.moveTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0)); 4947 path.moveTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0));
4974 path.cubicTo(SkBits2Float(0x41c732b7), SkBits2Float(0x42acca52), SkBits2Float(0x c14a7268), SkBits2Float(0x42b208b4), SkBits2Float(0xc22982dc), SkBits2Float(0x42 8ebb75)); 4948 path.cubicTo(SkBits2Float(0x41c732b7), SkBits2Float(0x42acca52), SkBits2Float(0x c14a7268), SkBits2Float(0x42b208b4), SkBits2Float(0xc22982dc), SkBits2Float(0x42 8ebb75));
4975 path.cubicTo(SkBits2Float(0xc2903490), SkBits2Float(0x4256dc6c), SkBits2Float(0x c2af8c6f), SkBits2Float(0x419be833), SkBits2Float(0xc2a36e37), SkBits2Float(0xc1 68c0a6)); 4949 path.cubicTo(SkBits2Float(0xc2903490), SkBits2Float(0x4256dc6c), SkBits2Float(0x c2af8c6f), SkBits2Float(0x419be833), SkBits2Float(0xc2a36e37), SkBits2Float(0xc1 68c0a6));
4976 path.cubicTo(SkBits2Float(0xc2974fff), SkBits2Float(0xc242546a), SkBits2Float(0x c2448acf), SkBits2Float(0xc29698ac), SkBits2Float(0xc17253d7), SkBits2Float(0xc2 a33682)); 4950 path.cubicTo(SkBits2Float(0xc2974fff), SkBits2Float(0xc242546a), SkBits2Float(0x c2448acf), SkBits2Float(0xc29698ac), SkBits2Float(0xc17253d7), SkBits2Float(0xc2 a33682));
4977 path.lineTo(SkBits2Float(0xc12f2d38), SkBits2Float(0xc26bf872)); 4951 path.lineTo(SkBits2Float(0xc12f2d38), SkBits2Float(0xc26bf872));
4978 path.cubicTo(SkBits2Float(0xc20e1427), SkBits2Float(0xc259bacc), SkBits2Float(0x c25ac3d7), SkBits2Float(0xc20c7ab2), SkBits2Float(0xc26c48f7), SkBits2Float(0xc1 284130)); 4952 path.cubicTo(SkBits2Float(0xc20e1427), SkBits2Float(0xc259bacc), SkBits2Float(0x c25ac3d7), SkBits2Float(0xc20c7ab2), SkBits2Float(0xc26c48f7), SkBits2Float(0xc1 284130));
4979 path.cubicTo(SkBits2Float(0xc27dce17), SkBits2Float(0x41616864), SkBits2Float(0x c2507d50), SkBits2Float(0x421b5239), SkBits2Float(0xc1f51386), SkBits2Float(0x42 4e5c1e)); 4953 path.cubicTo(SkBits2Float(0xc27dce17), SkBits2Float(0x41616864), SkBits2Float(0x c2507d50), SkBits2Float(0x421b5239), SkBits2Float(0xc1f51386), SkBits2Float(0x42 4e5c1e));
4980 path.cubicTo(SkBits2Float(0xc11258cd), SkBits2Float(0x4280b301), SkBits2Float(0x 418fffac), SkBits2Float(0x4279d13a), SkBits2Float(0x42160652), SkBits2Float(0x42 3b5488)); 4954 path.cubicTo(SkBits2Float(0xc11258cd), SkBits2Float(0x4280b301), SkBits2Float(0x 418fffac), SkBits2Float(0x4279d13a), SkBits2Float(0x42160652), SkBits2Float(0x42 3b5488));
4981 path.lineTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0)); 4955 path.lineTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0));
4982 path.close(); 4956 path.close();
4983 4957
4984 SkPath path2(path); 4958 SkPath path2(path);
4985 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4959 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
4986 } 4960 }
4987 // op end success 1 4961 // op end success 1
4988 4962
4989 static void battleOp182(skiatest::Reporter* reporter, const char* filename) { 4963 static void battleOp182(skiatest::Reporter* reporter, const char* filename) {
4990 SkPath path; 4964 SkPath path;
4991 path.setFillType((SkPath::FillType) 0); 4965 path.setFillType((SkPath::FillType) 0);
4992 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 4966 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
4993 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc)); 4967 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc));
4994 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 52400e)); 4968 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 52400e));
4995 path.lineTo(SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6)); 4969 path.lineTo(SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6));
(...skipping 11 matching lines...) Expand all
5007 path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x 422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x42 17fcf7)); 4981 path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x 422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x42 17fcf7));
5008 path.lineTo(SkBits2Float(0x4280787d), SkBits2Float(0x42524010)); 4982 path.lineTo(SkBits2Float(0x4280787d), SkBits2Float(0x42524010));
5009 path.close(); 4983 path.close();
5010 4984
5011 SkPath path2(path); 4985 SkPath path2(path);
5012 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 4986 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5013 } 4987 }
5014 // op end success 1 4988 // op end success 1
5015 4989
5016 static void battleOp183(skiatest::Reporter* reporter, const char* filename) { 4990 static void battleOp183(skiatest::Reporter* reporter, const char* filename) {
5017 if (!FLAGS_runFail) {
5018 return; // draws wrong
5019 }
5020 SkPath path; 4991 SkPath path;
5021 path.setFillType((SkPath::FillType) 1); 4992 path.setFillType((SkPath::FillType) 1);
5022 path.moveTo(SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000)); 4993 path.moveTo(SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
5023 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 4994 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
5024 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc)); 4995 path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x 4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc2 0e29dc));
5025 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 524010)); 4996 path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x 42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42 524010));
5026 path.cubicTo(SkBits2Float(0x42711c0e), SkBits2Float(0x42659909), SkBits2Float(0x 425f24ad), SkBits2Float(0x42771864), SkBits2Float(0x424b624a), SkBits2Float(0x42 83347a)); 4997 path.cubicTo(SkBits2Float(0x42711c0e), SkBits2Float(0x42659909), SkBits2Float(0x 425f24ad), SkBits2Float(0x42771864), SkBits2Float(0x424b624a), SkBits2Float(0x42 83347a));
5027 path.lineTo(SkBits2Float(0x42130648), SkBits2Float(0x423db1a5)); 4998 path.lineTo(SkBits2Float(0x42130648), SkBits2Float(0x423db1a5));
5028 path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x 422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x42 17fcf6)); 4999 path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x 422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x42 17fcf6));
5029 path.cubicTo(SkBits2Float(0x4274780f), SkBits2Float(0x41a06f8c), SkBits2Float(0x 42804bfe), SkBits2Float(0xc097b7f0), SkBits2Float(0x4258e240), SkBits2Float(0xc1 cd899e)); 5000 path.cubicTo(SkBits2Float(0x4274780f), SkBits2Float(0x41a06f8c), SkBits2Float(0x 42804bfe), SkBits2Float(0xc097b7f0), SkBits2Float(0x4258e240), SkBits2Float(0xc1 cd899e));
5030 path.cubicTo(SkBits2Float(0x42312c84), SkBits2Float(0xc23a929f), SkBits2Float(0x 41b978e3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2 700000)); 5001 path.cubicTo(SkBits2Float(0x42312c84), SkBits2Float(0xc23a929f), SkBits2Float(0x 41b978e3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2 700000));
5031 path.close(); 5002 path.close();
5032 5003
5033 SkPath path1(path); 5004 SkPath path1(path);
5034 path.reset(); 5005 path.reset();
5035 path.setFillType((SkPath::FillType) 0); 5006 path.setFillType((SkPath::FillType) 0);
5036 path.moveTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479)); 5007 path.moveTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479));
5037 path.cubicTo(SkBits2Float(0x41baac2f), SkBits2Float(0x42adda12), SkBits2Float(0x c168f6a7), SkBits2Float(0x42b1a2b3), SkBits2Float(0xc2303c92), SkBits2Float(0x42 8cae5c)); 5008 path.cubicTo(SkBits2Float(0x41baac2f), SkBits2Float(0x42adda12), SkBits2Float(0x c168f6a7), SkBits2Float(0x42b1a2b3), SkBits2Float(0xc2303c92), SkBits2Float(0x42 8cae5c));
5038 path.cubicTo(SkBits2Float(0xc2931dbe), SkBits2Float(0x424f7409), SkBits2Float(0x c2b0c9d8), SkBits2Float(0x41878abe), SkBits2Float(0xc2a26e7f), SkBits2Float(0xc1 88ef9a)); 5009 path.cubicTo(SkBits2Float(0xc2931dbe), SkBits2Float(0x424f7409), SkBits2Float(0x c2b0c9d8), SkBits2Float(0x41878abe), SkBits2Float(0xc2a26e7f), SkBits2Float(0xc1 88ef9a));
5039 path.cubicTo(SkBits2Float(0xc2941327), SkBits2Float(0xc24cb4f5), SkBits2Float(0x c2397a7c), SkBits2Float(0xc29a4742), SkBits2Float(0xc13ec328), SkBits2Float(0xc2 a44746)); 5010 path.cubicTo(SkBits2Float(0xc2941327), SkBits2Float(0xc24cb4f5), SkBits2Float(0x c2397a7c), SkBits2Float(0xc29a4742), SkBits2Float(0xc13ec328), SkBits2Float(0xc2 a44746));
5040 path.lineTo(SkBits2Float(0xc109e67a), SkBits2Float(0xc26d82d0)); 5011 path.lineTo(SkBits2Float(0xc109e67a), SkBits2Float(0xc26d82d0));
5041 path.cubicTo(SkBits2Float(0xc20614b0), SkBits2Float(0xc25f0d94), SkBits2Float(0x c2561585), SkBits2Float(0xc213fb18), SkBits2Float(0xc26ad744), SkBits2Float(0xc1 45fabb)); 5012 path.cubicTo(SkBits2Float(0xc20614b0), SkBits2Float(0xc25f0d94), SkBits2Float(0x c2561585), SkBits2Float(0xc213fb18), SkBits2Float(0xc26ad744), SkBits2Float(0xc1 45fabb));
5042 path.cubicTo(SkBits2Float(0xc27f9901), SkBits2Float(0x4143f6e8), SkBits2Float(0x c254b2af), SkBits2Float(0x4215f75b), SkBits2Float(0xc1feccbb), SkBits2Float(0x42 4b64f3)); 5013 path.cubicTo(SkBits2Float(0xc27f9901), SkBits2Float(0x4143f6e8), SkBits2Float(0x c254b2af), SkBits2Float(0x4215f75b), SkBits2Float(0xc1feccbb), SkBits2Float(0x42 4b64f3));
5043 path.cubicTo(SkBits2Float(0xc128682f), SkBits2Float(0x42806945), SkBits2Float(0x 4186f1ba), SkBits2Float(0x427b5a1e), SkBits2Float(0x4213064f), SkBits2Float(0x42 3db1a2)); 5014 path.cubicTo(SkBits2Float(0xc128682f), SkBits2Float(0x42806945), SkBits2Float(0x 4186f1ba), SkBits2Float(0x427b5a1e), SkBits2Float(0x4213064f), SkBits2Float(0x42 3db1a2));
5044 path.lineTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479)); 5015 path.lineTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479));
5045 path.close(); 5016 path.close();
5046 5017
5047 SkPath path2(path); 5018 SkPath path2(path);
5048 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5019 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
5049 } 5020 }
5050 // op end success 1 5021 // op end success 1
5051 5022
5052 static void battleOp184(skiatest::Reporter* reporter, const char* filename) { 5023 static void battleOp184(skiatest::Reporter* reporter, const char* filename) {
5053 SkPath path; 5024 SkPath path;
5054 path.setFillType((SkPath::FillType) 0); 5025 path.setFillType((SkPath::FillType) 0);
5055 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 5026 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
5056 path.cubicTo(SkBits2Float(0x42011b87), SkBits2Float(0xc2a5fffe), SkBits2Float(0x 427681ab), SkBits2Float(0xc280937a), SkBits2Float(0x42967eb3), SkBits2Float(0xc2 0c1a94)); 5027 path.cubicTo(SkBits2Float(0x42011b87), SkBits2Float(0xc2a5fffe), SkBits2Float(0x 427681ab), SkBits2Float(0xc280937a), SkBits2Float(0x42967eb3), SkBits2Float(0xc2 0c1a94));
5057 path.cubicTo(SkBits2Float(0x42b1bc91), SkBits2Float(0xc0b87191), SkBits2Float(0x 42a89454), SkBits2Float(0x41e5ed6f), SkBits2Float(0x427e0902), SkBits2Float(0x42 55c0a2)); 5028 path.cubicTo(SkBits2Float(0x42b1bc91), SkBits2Float(0xc0b87191), SkBits2Float(0x 42a89454), SkBits2Float(0x41e5ed6f), SkBits2Float(0x427e0902), SkBits2Float(0x42 55c0a2));
5058 path.lineTo(SkBits2Float(0x4237a3d0), SkBits2Float(0x421a8517)); 5029 path.lineTo(SkBits2Float(0x4237a3d0), SkBits2Float(0x421a8517));
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
5369 path.cubicTo(SkBits2Float(0x3f30e6e7), SkBits2Float(0xc26ffc2e), SkBits2Float(0x 3f05138e), SkBits2Float(0xc26ffdf2), SkBits2Float(0x3eb27fc6), SkBits2Float(0xc2 6ffef7)); 5340 path.cubicTo(SkBits2Float(0x3f30e6e7), SkBits2Float(0xc26ffc2e), SkBits2Float(0x 3f05138e), SkBits2Float(0xc26ffdf2), SkBits2Float(0x3eb27fc6), SkBits2Float(0xc2 6ffef7));
5370 path.lineTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48)); 5341 path.lineTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48));
5371 path.close(); 5342 path.close();
5372 5343
5373 SkPath path2(path); 5344 SkPath path2(path);
5374 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5345 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5375 } 5346 }
5376 // op end success 1 5347 // op end success 1
5377 5348
5378 static void battleOp195(skiatest::Reporter* reporter, const char* filename) { 5349 static void battleOp195(skiatest::Reporter* reporter, const char* filename) {
5379 if (!FLAGS_runFail) {
5380 return; // draws wrong
5381 }
5382 SkPath path; 5350 SkPath path;
5383 path.setFillType((SkPath::FillType) 0); 5351 path.setFillType((SkPath::FillType) 0);
5384 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 5352 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
5385 path.cubicTo(SkBits2Float(0x3f0607d9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3f860760), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc90825), SkBits2Float(0xc2 a5f863)); 5353 path.cubicTo(SkBits2Float(0x3f0607d9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 3f860760), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc90825), SkBits2Float(0xc2 a5f863));
5386 path.lineTo(SkBits2Float(0x3f9152f7), SkBits2Float(0xc26ff500)); 5354 path.lineTo(SkBits2Float(0x3f9152f7), SkBits2Float(0xc26ff500));
5387 path.cubicTo(SkBits2Float(0x3f41c6b2), SkBits2Float(0xc26ffc55), SkBits2Float(0x 3ec1c794), SkBits2Float(0xc26fffff), SkBits2Float(0x36a51f4a), SkBits2Float(0xc2 6fffff)); 5355 path.cubicTo(SkBits2Float(0x3f41c6b2), SkBits2Float(0xc26ffc55), SkBits2Float(0x 3ec1c794), SkBits2Float(0xc26fffff), SkBits2Float(0x36a51f4a), SkBits2Float(0xc2 6fffff));
5388 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 5356 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
5389 path.close(); 5357 path.close();
5390 5358
5391 SkPath path1(path); 5359 SkPath path1(path);
5392 path.reset(); 5360 path.reset();
5393 path.setFillType((SkPath::FillType) 0); 5361 path.setFillType((SkPath::FillType) 0);
5394 path.moveTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864)); 5362 path.moveTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
5395 path.cubicTo(SkBits2Float(0x3fcfbb75), SkBits2Float(0xc2a5f7e2), SkBits2Float(0x 3fd66eab), SkBits2Float(0xc2a5f75a), SkBits2Float(0x3fdd21d8), SkBits2Float(0xc2 a5f6cb)); 5363 path.cubicTo(SkBits2Float(0x3fcfbb75), SkBits2Float(0xc2a5f7e2), SkBits2Float(0x 3fd66eab), SkBits2Float(0xc2a5f75a), SkBits2Float(0x3fdd21d8), SkBits2Float(0xc2 a5f6cb));
5396 path.lineTo(SkBits2Float(0x3f9fdac0), SkBits2Float(0xc26ff2b1)); 5364 path.lineTo(SkBits2Float(0x3f9fdac0), SkBits2Float(0xc26ff2b1));
5397 path.cubicTo(SkBits2Float(0x3f9b02da), SkBits2Float(0xc26ff37f), SkBits2Float(0x 3f962add), SkBits2Float(0xc26ff444), SkBits2Float(0x3f9152da), SkBits2Float(0xc2 6ff500)); 5365 path.cubicTo(SkBits2Float(0x3f9b02da), SkBits2Float(0xc26ff37f), SkBits2Float(0x 3f962add), SkBits2Float(0xc26ff444), SkBits2Float(0x3f9152da), SkBits2Float(0xc2 6ff500));
5398 path.lineTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864)); 5366 path.lineTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
5399 path.close(); 5367 path.close();
5400 5368
5401 SkPath path2(path); 5369 SkPath path2(path);
5402 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5370 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
5403 } 5371 }
5404 // op end success 1 5372 // op end success 1
5405 5373
5406 static void battleOp196(skiatest::Reporter* reporter, const char* filename) { 5374 static void battleOp196(skiatest::Reporter* reporter, const char* filename) {
5407 SkPath path; 5375 SkPath path;
5408 path.setFillType((SkPath::FillType) 1); 5376 path.setFillType((SkPath::FillType) 1);
5409 path.moveTo(SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff)); 5377 path.moveTo(SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff));
5410 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 5378 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
5411 path.cubicTo(SkBits2Float(0x3f0607d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 3f860758), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc9081a), SkBits2Float(0xc2 a5f864)); 5379 path.cubicTo(SkBits2Float(0x3f0607d1), SkBits2Float(0xc2a60000), SkBits2Float(0x 3f860758), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc9081a), SkBits2Float(0xc2 a5f864));
5412 5380
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
5444 path.cubicTo(SkBits2Float(0x4039d5dd), SkBits2Float(0xc26fb815), SkBits2Float(0x 40340849), SkBits2Float(0xc26fbc83), SkBits2Float(0x402e3a8d), SkBits2Float(0xc2 6fc0bb)); 5412 path.cubicTo(SkBits2Float(0x4039d5dd), SkBits2Float(0xc26fb815), SkBits2Float(0x 40340849), SkBits2Float(0xc26fbc83), SkBits2Float(0x402e3a8d), SkBits2Float(0xc2 6fc0bb));
5445 path.lineTo(SkBits2Float(0x4071043c), SkBits2Float(0xc2a5d43c)); 5413 path.lineTo(SkBits2Float(0x4071043c), SkBits2Float(0xc2a5d43c));
5446 path.close(); 5414 path.close();
5447 5415
5448 SkPath path2(path); 5416 SkPath path2(path);
5449 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5417 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
5450 } 5418 }
5451 // op end success 1 5419 // op end success 1
5452 5420
5453 static void battleOp198(skiatest::Reporter* reporter, const char* filename) { 5421 static void battleOp198(skiatest::Reporter* reporter, const char* filename) {
5454 if (!FLAGS_runFail) {
5455 return; // draws wrong
5456 }
5457 SkPath path; 5422 SkPath path;
5458 path.setFillType((SkPath::FillType) 1); 5423 path.setFillType((SkPath::FillType) 1);
5459 path.moveTo(SkBits2Float(0x369bbf59), SkBits2Float(0xc2700000)); 5424 path.moveTo(SkBits2Float(0x369bbf59), SkBits2Float(0xc2700000));
5460 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 5425 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
5461 path.cubicTo(SkBits2Float(0x3fa0bd4b), SkBits2Float(0xc2a60000), SkBits2Float(0x 4020bab6), SkBits2Float(0xc2a5f168), SkBits2Float(0x4071043c), SkBits2Float(0xc2 a5d43c)); 5426 path.cubicTo(SkBits2Float(0x3fa0bd4b), SkBits2Float(0xc2a60000), SkBits2Float(0x 4020bab6), SkBits2Float(0xc2a5f168), SkBits2Float(0x4071043c), SkBits2Float(0xc2 a5d43c));
5462 path.lineTo(SkBits2Float(0x40710446), SkBits2Float(0xc2a5d43c)); 5427 path.lineTo(SkBits2Float(0x40710446), SkBits2Float(0xc2a5d43c));
5463 path.cubicTo(SkBits2Float(0x40790b7f), SkBits2Float(0xc2a5d151), SkBits2Float(0x 40808945), SkBits2Float(0xc2a5ce41), SkBits2Float(0x40848cac), SkBits2Float(0xc2 a5cb0c)); 5428 path.cubicTo(SkBits2Float(0x40790b7f), SkBits2Float(0xc2a5d151), SkBits2Float(0x 40808945), SkBits2Float(0xc2a5ce41), SkBits2Float(0x40848cac), SkBits2Float(0xc2 a5cb0c));
5464 path.lineTo(SkBits2Float(0x403fa34c), SkBits2Float(0xc26fb371)); 5429 path.lineTo(SkBits2Float(0x403fa34c), SkBits2Float(0xc26fb371));
5465 path.quadTo(SkBits2Float(0x4036ef2a), SkBits2Float(0xc26fba67), SkBits2Float(0x4 02e3a95), SkBits2Float(0xc26fc0bb)); 5430 path.quadTo(SkBits2Float(0x4036ef2a), SkBits2Float(0xc26fba67), SkBits2Float(0x4 02e3a95), SkBits2Float(0xc26fc0bb));
5466 path.lineTo(SkBits2Float(0x402e3a94), SkBits2Float(0xc26fc0ba)); 5431 path.lineTo(SkBits2Float(0x402e3a94), SkBits2Float(0xc26fc0ba));
5467 path.cubicTo(SkBits2Float(0x3fe86158), SkBits2Float(0xc26feae9), SkBits2Float(0x 3f686554), SkBits2Float(0xc2700000), SkBits2Float(0x369bbf59), SkBits2Float(0xc2 700000)); 5432 path.cubicTo(SkBits2Float(0x3fe86158), SkBits2Float(0xc26feae9), SkBits2Float(0x 3f686554), SkBits2Float(0xc2700000), SkBits2Float(0x369bbf59), SkBits2Float(0xc2 700000));
5468 path.close(); 5433 path.close();
5469 5434
5470 SkPath path1(path); 5435 SkPath path1(path);
5471 path.reset(); 5436 path.reset();
5472 path.setFillType((SkPath::FillType) 0); 5437 path.setFillType((SkPath::FillType) 0);
5473 path.moveTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c)); 5438 path.moveTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
5474 path.cubicTo(SkBits2Float(0x40c597bc), SkBits2Float(0xc2a5970c), SkBits2Float(0x 41033f43), SkBits2Float(0xc2a53cca), SkBits2Float(0x41238fb3), SkBits2Float(0xc2 a4bc74)); 5439 path.cubicTo(SkBits2Float(0x40c597bc), SkBits2Float(0xc2a5970c), SkBits2Float(0x 41033f43), SkBits2Float(0xc2a53cca), SkBits2Float(0x41238fb3), SkBits2Float(0xc2 a4bc74));
5475 path.lineTo(SkBits2Float(0x40ec7963), SkBits2Float(0xc26e2c38)); 5440 path.lineTo(SkBits2Float(0x40ec7963), SkBits2Float(0xc26e2c38));
5476 path.cubicTo(SkBits2Float(0x40bdc13f), SkBits2Float(0xc26ee5c4), SkBits2Float(0x 408ed689), SkBits2Float(0xc26f6843), SkBits2Float(0x403fa341), SkBits2Float(0xc2 6fb372)); 5441 path.cubicTo(SkBits2Float(0x40bdc13f), SkBits2Float(0xc26ee5c4), SkBits2Float(0x 408ed689), SkBits2Float(0xc26f6843), SkBits2Float(0x403fa341), SkBits2Float(0xc2 6fb372));
5477 path.lineTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c)); 5442 path.lineTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
5478 path.close(); 5443 path.close();
5479 5444
5480 SkPath path2(path); 5445 SkPath path2(path);
5481 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5446 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
5482 } 5447 }
5483 // op end success 1 5448 // op end success 1
5484 5449
5485 static void battleOp199(skiatest::Reporter* reporter, const char* filename) { 5450 static void battleOp199(skiatest::Reporter* reporter, const char* filename) {
5486 SkPath path; 5451 SkPath path;
5487 path.setFillType((SkPath::FillType) 0); 5452 path.setFillType((SkPath::FillType) 0);
5488 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 5453 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
5489 path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x 407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d32), SkBits2Float(0xc2 a592c7)); 5454 path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x 407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d32), SkBits2Float(0xc2 a592c7));
5490 path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217)); 5455 path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217));
5491 path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x 3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc2 6fffff)); 5456 path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x 3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc2 6fffff));
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
6301 path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x 4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfb), SkBits2Float(0xc1 b5d506)); 6266 path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x 4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfb), SkBits2Float(0xc1 b5d506));
6302 path.lineTo(SkBits2Float(0x4299a0d8), SkBits2Float(0xc1fb88d0)); 6267 path.lineTo(SkBits2Float(0x4299a0d8), SkBits2Float(0xc1fb88d0));
6303 path.close(); 6268 path.close();
6304 6269
6305 SkPath path2(path); 6270 SkPath path2(path);
6306 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 6271 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
6307 } 6272 }
6308 // op end success 1 6273 // op end success 1
6309 6274
6310 static void battleOp230(skiatest::Reporter* reporter, const char* filename) { 6275 static void battleOp230(skiatest::Reporter* reporter, const char* filename) {
6311 if (!FLAGS_runFail) {
6312 return; // draws wrong
6313 }
6314 SkPath path; 6276 SkPath path;
6315 path.setFillType((SkPath::FillType) 1); 6277 path.setFillType((SkPath::FillType) 1);
6316 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000)); 6278 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
6317 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 6279 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
6318 path.cubicTo(SkBits2Float(0x4206c976), SkBits2Float(0xc2a60000), SkBits2Float(0x 42801937), SkBits2Float(0xc27a823c), SkBits2Float(0x4299a0d8), SkBits2Float(0xc1 fb88d0)); 6280 path.cubicTo(SkBits2Float(0x4206c976), SkBits2Float(0xc2a60000), SkBits2Float(0x 42801937), SkBits2Float(0xc27a823c), SkBits2Float(0x4299a0d8), SkBits2Float(0xc1 fb88d0));
6319 path.cubicTo(SkBits2Float(0x429c1b73), SkBits2Float(0xc1e34f53), SkBits2Float(0x 429e39d2), SkBits2Float(0xc1ca8528), SkBits2Float(0x429ff920), SkBits2Float(0xc1 b14b8c)); 6281 path.cubicTo(SkBits2Float(0x429c1b73), SkBits2Float(0xc1e34f53), SkBits2Float(0x 429e39d2), SkBits2Float(0xc1ca8528), SkBits2Float(0x429ff920), SkBits2Float(0xc1 b14b8c));
6320 path.lineTo(SkBits2Float(0x42674955), SkBits2Float(0xc1802a45)); 6282 path.lineTo(SkBits2Float(0x42674955), SkBits2Float(0xc1802a45));
6321 path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x 4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfa), SkBits2Float(0xc1 b5d505)); 6283 path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x 4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfa), SkBits2Float(0xc1 b5d505));
6322 path.cubicTo(SkBits2Float(0x423933e1), SkBits2Float(0xc2351735), SkBits2Float(0x 41c2df6b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000)); 6284 path.cubicTo(SkBits2Float(0x423933e1), SkBits2Float(0xc2351735), SkBits2Float(0x 41c2df6b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2 700000));
6323 path.close(); 6285 path.close();
6324 6286
6325 SkPath path1(path); 6287 SkPath path1(path);
6326 path.reset(); 6288 path.reset();
6327 path.setFillType((SkPath::FillType) 0); 6289 path.setFillType((SkPath::FillType) 0);
6328 path.moveTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a)); 6290 path.moveTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
6329 path.cubicTo(SkBits2Float(0x42ae673b), SkBits2Float(0x40783c41), SkBits2Float(0x 42a293c2), SkBits2Float(0x41fe6960), SkBits2Float(0x4280464e), SkBits2Float(0x42 52ba7b)); 6291 path.cubicTo(SkBits2Float(0x42ae673b), SkBits2Float(0x40783c41), SkBits2Float(0x 42a293c2), SkBits2Float(0x41fe6960), SkBits2Float(0x4280464e), SkBits2Float(0x42 52ba7b));
6330 path.cubicTo(SkBits2Float(0x423bf1b3), SkBits2Float(0x42932023), SkBits2Float(0x 41a5f32c), SkBits2Float(0x42a99309), SkBits2Float(0xc0c67989), SkBits2Float(0x42 a5892f)); 6292 path.cubicTo(SkBits2Float(0x423bf1b3), SkBits2Float(0x42932023), SkBits2Float(0x 41a5f32c), SkBits2Float(0x42a99309), SkBits2Float(0xc0c67989), SkBits2Float(0x42 a5892f));
6331 path.lineTo(SkBits2Float(0xc08f79c7), SkBits2Float(0x426f5437)); 6293 path.lineTo(SkBits2Float(0xc08f79c7), SkBits2Float(0x426f5437));
6332 path.cubicTo(SkBits2Float(0x416fed74), SkBits2Float(0x42752af2), SkBits2Float(0x 4207dcfc), SkBits2Float(0x4254b62d), SkBits2Float(0x42397512), SkBits2Float(0x42 185575)); 6294 path.cubicTo(SkBits2Float(0x416fed74), SkBits2Float(0x42752af2), SkBits2Float(0x 4207dcfc), SkBits2Float(0x4254b62d), SkBits2Float(0x42397512), SkBits2Float(0x42 185575));
6333 path.cubicTo(SkBits2Float(0x426b0d26), SkBits2Float(0x41b7e97d), SkBits2Float(0x 427c2639), SkBits2Float(0x40337286), SkBits2Float(0x42674956), SkBits2Float(0xc1 802a46)); 6295 path.cubicTo(SkBits2Float(0x426b0d26), SkBits2Float(0x41b7e97d), SkBits2Float(0x 427c2639), SkBits2Float(0x40337286), SkBits2Float(0x42674956), SkBits2Float(0xc1 802a46));
6334 path.lineTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a)); 6296 path.lineTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
6335 path.close(); 6297 path.close();
6336 6298
6337 SkPath path2(path); 6299 SkPath path2(path);
6338 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 6300 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
6339 } 6301 }
6340 // op end success 1 6302 // op end success 1
6341 6303
6342 static void battleOp231(skiatest::Reporter* reporter, const char* filename) { 6304 static void battleOp231(skiatest::Reporter* reporter, const char* filename) {
6343 SkPath path; 6305 SkPath path;
6344 path.setFillType((SkPath::FillType) 0); 6306 path.setFillType((SkPath::FillType) 0);
6345 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 6307 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
6346 path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1 b54986)); 6308 path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1 b54986));
6347 path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f)); 6309 path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
6348 path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x 41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000)); 6310 path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x 41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2 700000));
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
6498 path.cubicTo(SkBits2Float(0x4221adc8), SkBits2Float(0x424bd107), SkBits2Float(0x 42672d88), SkBits2Float(0x41eea576), SkBits2Float(0x426f3a3c), SkBits2Float(0x40 99edfe)); 6460 path.cubicTo(SkBits2Float(0x4221adc8), SkBits2Float(0x424bd107), SkBits2Float(0x 42672d88), SkBits2Float(0x41eea576), SkBits2Float(0x426f3a3c), SkBits2Float(0x40 99edfe));
6499 path.lineTo(SkBits2Float(0x42a57735), SkBits2Float(0x40d4ef9d)); 6461 path.lineTo(SkBits2Float(0x42a57735), SkBits2Float(0x40d4ef9d));
6500 path.close(); 6462 path.close();
6501 6463
6502 SkPath path2(path); 6464 SkPath path2(path);
6503 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 6465 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
6504 } 6466 }
6505 // op end success 1 6467 // op end success 1
6506 6468
6507 static void battleOp237(skiatest::Reporter* reporter, const char* filename) { 6469 static void battleOp237(skiatest::Reporter* reporter, const char* filename) {
6508 if (!FLAGS_runFail) {
6509 return; // draws wrong
6510 }
6511 SkPath path; 6470 SkPath path;
6512 path.setFillType((SkPath::FillType) 0); 6471 path.setFillType((SkPath::FillType) 0);
6513 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 6472 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
6514 path.cubicTo(SkBits2Float(0x41b25a1b), SkBits2Float(0xc2a60000), SkBits2Float(0x 422e9a51), SkBits2Float(0xc294100b), SkBits2Float(0x426d0a79), SkBits2Float(0xc2 6874a1)); 6473 path.cubicTo(SkBits2Float(0x41b25a1b), SkBits2Float(0xc2a60000), SkBits2Float(0x 422e9a51), SkBits2Float(0xc294100b), SkBits2Float(0x426d0a79), SkBits2Float(0xc2 6874a1));
6515 path.cubicTo(SkBits2Float(0x4295bd51), SkBits2Float(0xc228c92e), SkBits2Float(0x 42a6d6d5), SkBits2Float(0xc1a5596e), SkBits2Float(0x42a5f7e5), SkBits2Float(0x3f cf7f4c)); 6474 path.cubicTo(SkBits2Float(0x4295bd51), SkBits2Float(0xc228c92e), SkBits2Float(0x 42a6d6d5), SkBits2Float(0xc1a5596e), SkBits2Float(0x42a5f7e5), SkBits2Float(0x3f cf7f4c));
6516 path.lineTo(SkBits2Float(0x426ff448), SkBits2Float(0x3f95ff69)); 6475 path.lineTo(SkBits2Float(0x426ff448), SkBits2Float(0x3f95ff69));
6517 path.cubicTo(SkBits2Float(0x4271369b), SkBits2Float(0xc16f0f30), SkBits2Float(0x 42587daa), SkBits2Float(0xc1f4071e), SkBits2Float(0x422b5ada), SkBits2Float(0xc2 280a4b)); 6476 path.cubicTo(SkBits2Float(0x4271369b), SkBits2Float(0xc16f0f30), SkBits2Float(0x 42587daa), SkBits2Float(0xc1f4071e), SkBits2Float(0x422b5ada), SkBits2Float(0xc2 280a4b));
6518 path.cubicTo(SkBits2Float(0x41fc7014), SkBits2Float(0xc2561107), SkBits2Float(0x 4180eddd), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000)); 6477 path.cubicTo(SkBits2Float(0x41fc7014), SkBits2Float(0xc2561107), SkBits2Float(0x 4180eddd), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2 700000));
6519 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 6478 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
6520 path.close(); 6479 path.close();
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
7059 path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x 4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41 f5204d)); 7018 path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x 4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41 f5204d));
7060 path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bad)); 7019 path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bad));
7061 path.close(); 7020 path.close();
7062 7021
7063 SkPath path2(path); 7022 SkPath path2(path);
7064 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7023 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7065 } 7024 }
7066 // op end success 1 7025 // op end success 1
7067 7026
7068 static void battleOp256(skiatest::Reporter* reporter, const char* filename) { 7027 static void battleOp256(skiatest::Reporter* reporter, const char* filename) {
7069 if (!FLAGS_runFail) {
7070 return; // draws wrong
7071 }
7072 SkPath path; 7028 SkPath path;
7073 path.setFillType((SkPath::FillType) 1); 7029 path.setFillType((SkPath::FillType) 1);
7074 path.moveTo(SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000)); 7030 path.moveTo(SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
7075 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7031 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7076 path.cubicTo(SkBits2Float(0x41eeb164), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42658277), SkBits2Float(0xc285f892), SkBits2Float(0x42904565), SkBits2Float(0xc2 2437b5)); 7032 path.cubicTo(SkBits2Float(0x41eeb164), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 42658277), SkBits2Float(0xc285f892), SkBits2Float(0x42904565), SkBits2Float(0xc2 2437b5));
7077 path.cubicTo(SkBits2Float(0x42adc98d), SkBits2Float(0xc171f917), SkBits2Float(0x 42ad3226), SkBits2Float(0x4185deb4), SkBits2Float(0x428eb8d5), SkBits2Float(0x42 298bad)); 7033 path.cubicTo(SkBits2Float(0x42adc98d), SkBits2Float(0xc171f917), SkBits2Float(0x 42ad3226), SkBits2Float(0x4185deb4), SkBits2Float(0x428eb8d5), SkBits2Float(0x42 298bad));
7078 path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bae)); 7034 path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bae));
7079 path.cubicTo(SkBits2Float(0x4288c365), SkBits2Float(0x423d9c16), SkBits2Float(0x 4281c36f), SkBits2Float(0x42505c7e), SkBits2Float(0x4273ad50), SkBits2Float(0x42 617d52)); 7035 path.cubicTo(SkBits2Float(0x4288c365), SkBits2Float(0x423d9c16), SkBits2Float(0x 4281c36f), SkBits2Float(0x42505c7e), SkBits2Float(0x4273ad50), SkBits2Float(0x42 617d52));
7080 path.lineTo(SkBits2Float(0x423026ec), SkBits2Float(0x42230126)); 7036 path.lineTo(SkBits2Float(0x423026ec), SkBits2Float(0x42230126));
7081 path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x 4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41 f5204d)); 7037 path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x 4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41 f5204d));
7082 path.cubicTo(SkBits2Float(0x427a675e), SkBits2Float(0x41418c02), SkBits2Float(0x 427b4242), SkBits2Float(0xc12eeb9b), SkBits2Float(0x425095b0), SkBits2Float(0xc1 ed6c50)); 7038 path.cubicTo(SkBits2Float(0x427a675e), SkBits2Float(0x41418c02), SkBits2Float(0x 427b4242), SkBits2Float(0xc12eeb9b), SkBits2Float(0x425095b0), SkBits2Float(0xc1 ed6c50));
7083 path.cubicTo(SkBits2Float(0x4225e91e), SkBits2Float(0xc241b169), SkBits2Float(0x 41ac8c92), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2 700000)); 7039 path.cubicTo(SkBits2Float(0x4225e91e), SkBits2Float(0xc241b169), SkBits2Float(0x 41ac8c92), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2 700000));
7084 path.close(); 7040 path.close();
7085 7041
7086 SkPath path1(path); 7042 SkPath path1(path);
7087 path.reset(); 7043 path.reset();
7088 path.setFillType((SkPath::FillType) 0); 7044 path.setFillType((SkPath::FillType) 0);
7089 path.moveTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52)); 7045 path.moveTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52));
7090 path.cubicTo(SkBits2Float(0x421bc173), SkBits2Float(0x42a0404f), SkBits2Float(0x 40a50405), SkBits2Float(0x42b1dfaa), SkBits2Float(0xc1cd0022), SkBits2Float(0x42 9de3fd)); 7046 path.cubicTo(SkBits2Float(0x421bc173), SkBits2Float(0x42a0404f), SkBits2Float(0x 40a50405), SkBits2Float(0x42b1dfaa), SkBits2Float(0xc1cd0022), SkBits2Float(0x42 9de3fd));
7091 path.cubicTo(SkBits2Float(0xc261a0a2), SkBits2Float(0x4289e850), SkBits2Float(0x c29d25ee), SkBits2Float(0x4227ed4e), SkBits2Float(0xc2a4d3d8), SkBits2Float(0x41 1d8f80)); 7047 path.cubicTo(SkBits2Float(0xc261a0a2), SkBits2Float(0x4289e850), SkBits2Float(0x c29d25ee), SkBits2Float(0x4227ed4e), SkBits2Float(0xc2a4d3d8), SkBits2Float(0x41 1d8f80));
7092 path.cubicTo(SkBits2Float(0xc2ac81c3), SkBits2Float(0xc1b24b1c), SkBits2Float(0x c28e216c), SkBits2Float(0xc256e38c), SkBits2Float(0xc22e0453), SkBits2Float(0xc2 8d5ec3)); 7048 path.cubicTo(SkBits2Float(0xc2ac81c3), SkBits2Float(0xc1b24b1c), SkBits2Float(0x c28e216c), SkBits2Float(0xc256e38c), SkBits2Float(0xc22e0453), SkBits2Float(0xc2 8d5ec3));
7093 path.lineTo(SkBits2Float(0xc1fb9743), SkBits2Float(0xc24c63fd)); 7049 path.lineTo(SkBits2Float(0xc1fb9743), SkBits2Float(0xc24c63fd));
7094 path.cubicTo(SkBits2Float(0xc24d7d6b), SkBits2Float(0xc21b575f), SkBits2Float(0x c279684a), SkBits2Float(0xc180e302), SkBits2Float(0xc26e4dff), SkBits2Float(0x40 e3cc4e)); 7050 path.cubicTo(SkBits2Float(0xc24d7d6b), SkBits2Float(0xc21b575f), SkBits2Float(0x c279684a), SkBits2Float(0xc180e302), SkBits2Float(0xc26e4dff), SkBits2Float(0x40 e3cc4e));
7095 path.cubicTo(SkBits2Float(0xc26333b4), SkBits2Float(0x41f2c929), SkBits2Float(0x c2231aa4), SkBits2Float(0x42476256), SkBits2Float(0xc1943166), SkBits2Float(0x42 64467e)); 7051 path.cubicTo(SkBits2Float(0xc26333b4), SkBits2Float(0x41f2c929), SkBits2Float(0x c2231aa4), SkBits2Float(0x42476256), SkBits2Float(0xc1943166), SkBits2Float(0x42 64467e));
7096 path.cubicTo(SkBits2Float(0x406e93d1), SkBits2Float(0x42809553), SkBits2Float(0x 41e1305a), SkBits2Float(0x4267b03c), SkBits2Float(0x423026ed), SkBits2Float(0x42 230127)); 7052 path.cubicTo(SkBits2Float(0x406e93d1), SkBits2Float(0x42809553), SkBits2Float(0x 41e1305a), SkBits2Float(0x4267b03c), SkBits2Float(0x423026ed), SkBits2Float(0x42 230127));
7097 path.lineTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52)); 7053 path.lineTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52));
7098 path.close(); 7054 path.close();
7099 7055
7100 SkPath path2(path); 7056 SkPath path2(path);
7101 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7057 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
7102 } 7058 }
7103 // op end success 1 7059 // op end success 1
7104 7060
7105 static void battleOp257(skiatest::Reporter* reporter, const char* filename) { 7061 static void battleOp257(skiatest::Reporter* reporter, const char* filename) {
7106 SkPath path; 7062 SkPath path;
7107 path.setFillType((SkPath::FillType) 0); 7063 path.setFillType((SkPath::FillType) 0);
7108 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7064 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7109 path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc2 1f2e53)); 7065 path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc2 1f2e53));
7110 path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x 42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0fe), SkBits2Float(0x42 335ba0)); 7066 path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x 42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0fe), SkBits2Float(0x42 335ba0));
7111 path.lineTo(SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806)); 7067 path.lineTo(SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806));
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
7458 path.cubicTo(SkBits2Float(0xc1270bd9), SkBits2Float(0x42806e40), SkBits2Float(0x 41878138), SkBits2Float(0x427b4278), SkBits2Float(0x421335f8), SkBits2Float(0x42 3d8ca8)); 7414 path.cubicTo(SkBits2Float(0xc1270bd9), SkBits2Float(0x42806e40), SkBits2Float(0x 41878138), SkBits2Float(0x427b4278), SkBits2Float(0x421335f8), SkBits2Float(0x42 3d8ca8));
7459 path.lineTo(SkBits2Float(0x424ba440), SkBits2Float(0x42831ae2)); 7415 path.lineTo(SkBits2Float(0x424ba440), SkBits2Float(0x42831ae2));
7460 path.close(); 7416 path.close();
7461 7417
7462 SkPath path2(path); 7418 SkPath path2(path);
7463 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7419 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7464 } 7420 }
7465 // op end success 1 7421 // op end success 1
7466 7422
7467 static void battleOp269(skiatest::Reporter* reporter, const char* filename) { 7423 static void battleOp269(skiatest::Reporter* reporter, const char* filename) {
7468 if (!FLAGS_runFail) {
7469 return; // draws wrong
7470 }
7471 SkPath path; 7424 SkPath path;
7472 path.setFillType((SkPath::FillType) 0); 7425 path.setFillType((SkPath::FillType) 0);
7473 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7426 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7474 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8)); 7427 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8));
7475 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106)); 7428 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106));
7476 path.lineTo(SkBits2Float(0x4237c0bf), SkBits2Float(0x421a62ac)); 7429 path.lineTo(SkBits2Float(0x4237c0bf), SkBits2Float(0x421a62ac));
7477 path.cubicTo(SkBits2Float(0x4273c506), SkBits2Float(0x41a5e791), SkBits2Float(0x 4280797a), SkBits2Float(0xc08650bf), SkBits2Float(0x42598bc5), SkBits2Float(0xc1 cab811)); 7430 path.cubicTo(SkBits2Float(0x4273c506), SkBits2Float(0x41a5e791), SkBits2Float(0x 4280797a), SkBits2Float(0xc08650bf), SkBits2Float(0x42598bc5), SkBits2Float(0xc1 cab811));
7478 path.cubicTo(SkBits2Float(0x42322494), SkBits2Float(0xc239edfa), SkBits2Float(0x 41ba9913), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2 700000)); 7431 path.cubicTo(SkBits2Float(0x42322494), SkBits2Float(0xc239edfa), SkBits2Float(0x 41ba9913), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2 700000));
7479 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7432 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7480 path.close(); 7433 path.close();
7481 7434
7482 SkPath path1(path); 7435 SkPath path1(path);
7483 path.reset(); 7436 path.reset();
7484 path.setFillType((SkPath::FillType) 0); 7437 path.setFillType((SkPath::FillType) 0);
7485 path.moveTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108)); 7438 path.moveTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
7486 path.cubicTo(SkBits2Float(0x426e0477), SkBits2Float(0x4268d13b), SkBits2Float(0x 425bb575), SkBits2Float(0x427a2b1d), SkBits2Float(0x42479e2a), SkBits2Float(0x42 84a4a0)); 7439 path.cubicTo(SkBits2Float(0x426e0477), SkBits2Float(0x4268d13b), SkBits2Float(0x 425bb575), SkBits2Float(0x427a2b1d), SkBits2Float(0x42479e2a), SkBits2Float(0x42 84a4a0));
7487 path.lineTo(SkBits2Float(0x42104d52), SkBits2Float(0x423fc5ea)); 7440 path.lineTo(SkBits2Float(0x42104d52), SkBits2Float(0x423fc5ea));
7488 path.cubicTo(SkBits2Float(0x421ed35e), SkBits2Float(0x4234d83a), SkBits2Float(0x 422c0f91), SkBits2Float(0x42284d3a), SkBits2Float(0x4237c0bf), SkBits2Float(0x42 1a62ad)); 7441 path.cubicTo(SkBits2Float(0x421ed35e), SkBits2Float(0x4234d83a), SkBits2Float(0x 422c0f91), SkBits2Float(0x42284d3a), SkBits2Float(0x4237c0bf), SkBits2Float(0x42 1a62ad));
7489 path.lineTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108)); 7442 path.lineTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
7490 path.close(); 7443 path.close();
7491 7444
7492 SkPath path2(path); 7445 SkPath path2(path);
7493 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7446 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
7494 } 7447 }
7495 // op end success 1 7448 // op end success 1
7496 7449
7497 static void battleOp270(skiatest::Reporter* reporter, const char* filename) { 7450 static void battleOp270(skiatest::Reporter* reporter, const char* filename) {
7498 SkPath path; 7451 SkPath path;
7499 path.setFillType((SkPath::FillType) 1); 7452 path.setFillType((SkPath::FillType) 1);
7500 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000)); 7453 path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
7501 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7454 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7502 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8)); 7455 path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x 42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc2 0c36c8));
7503 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106)); 7456 path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x 42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42 559106));
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
7578 path.cubicTo(SkBits2Float(0xc14c6303), SkBits2Float(0x427fa162), SkBits2Float(0x 4170087f), SkBits2Float(0x427dafb7), SkBits2Float(0x420e0af6), SkBits2Float(0x42 4173d2)); 7531 path.cubicTo(SkBits2Float(0xc14c6303), SkBits2Float(0x427fa162), SkBits2Float(0x 4170087f), SkBits2Float(0x427dafb7), SkBits2Float(0x420e0af6), SkBits2Float(0x42 4173d2));
7579 path.lineTo(SkBits2Float(0x42447e16), SkBits2Float(0x4285cdfb)); 7532 path.lineTo(SkBits2Float(0x42447e16), SkBits2Float(0x4285cdfb));
7580 path.close(); 7533 path.close();
7581 7534
7582 SkPath path2(path); 7535 SkPath path2(path);
7583 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7536 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7584 } 7537 }
7585 // op end success 1 7538 // op end success 1
7586 7539
7587 static void battleOp273(skiatest::Reporter* reporter, const char* filename) { 7540 static void battleOp273(skiatest::Reporter* reporter, const char* filename) {
7588 if (!FLAGS_runFail) {
7589 return; // draws wrong
7590 }
7591 SkPath path; 7541 SkPath path;
7592 path.setFillType((SkPath::FillType) 0); 7542 path.setFillType((SkPath::FillType) 0);
7593 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7543 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7594 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb)); 7544 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb));
7595 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b)); 7545 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b));
7596 path.lineTo(SkBits2Float(0x4234ac95), SkBits2Float(0x421dfa35)); 7546 path.lineTo(SkBits2Float(0x4234ac95), SkBits2Float(0x421dfa35));
7597 path.cubicTo(SkBits2Float(0x4272a697), SkBits2Float(0x41ae3171), SkBits2Float(0x 4280ba5e), SkBits2Float(0xc057a00f), SkBits2Float(0x425a88d0), SkBits2Float(0xc1 c66bc2)); 7547 path.cubicTo(SkBits2Float(0x4272a697), SkBits2Float(0x41ae3171), SkBits2Float(0x 4280ba5e), SkBits2Float(0xc057a00f), SkBits2Float(0x425a88d0), SkBits2Float(0xc1 c66bc2));
7598 path.cubicTo(SkBits2Float(0x42339ce5), SkBits2Float(0xc238f1c1), SkBits2Float(0x 41bc4f6b), SkBits2Float(0xc2700002), SkBits2Float(0xb630015d), SkBits2Float(0xc2 700000)); 7548 path.cubicTo(SkBits2Float(0x42339ce5), SkBits2Float(0xc238f1c1), SkBits2Float(0x 41bc4f6b), SkBits2Float(0xc2700002), SkBits2Float(0xb630015d), SkBits2Float(0xc2 700000));
7599 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7549 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7600 path.close(); 7550 path.close();
7601 7551
7602 SkPath path1(path); 7552 SkPath path1(path);
7603 path.reset(); 7553 path.reset();
7604 path.setFillType((SkPath::FillType) 0); 7554 path.setFillType((SkPath::FillType) 0);
7605 path.moveTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e)); 7555 path.moveTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
7606 path.cubicTo(SkBits2Float(0x42693cf3), SkBits2Float(0x426da0dc), SkBits2Float(0x 42566929), SkBits2Float(0x427ebed8), SkBits2Float(0x4241d1ac), SkBits2Float(0x42 86c6a2)); 7556 path.cubicTo(SkBits2Float(0x42693cf3), SkBits2Float(0x426da0dc), SkBits2Float(0x 42566929), SkBits2Float(0x427ebed8), SkBits2Float(0x4241d1ac), SkBits2Float(0x42 86c6a2));
7607 path.lineTo(SkBits2Float(0x420c1c33), SkBits2Float(0x4242db53)); 7557 path.lineTo(SkBits2Float(0x420c1c33), SkBits2Float(0x4242db53));
7608 path.cubicTo(SkBits2Float(0x421afee9), SkBits2Float(0x42382742), SkBits2Float(0x 42289b18), SkBits2Float(0x422bc78f), SkBits2Float(0x4234ac94), SkBits2Float(0x42 1dfa34)); 7558 path.cubicTo(SkBits2Float(0x421afee9), SkBits2Float(0x42382742), SkBits2Float(0x 42289b18), SkBits2Float(0x422bc78f), SkBits2Float(0x4234ac94), SkBits2Float(0x42 1dfa34));
7609 path.lineTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e)); 7559 path.lineTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
7610 path.close(); 7560 path.close();
7611 7561
7612 SkPath path2(path); 7562 SkPath path2(path);
7613 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7563 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
7614 } 7564 }
7615 // op end success 1 7565 // op end success 1
7616 7566
7617 static void battleOp274(skiatest::Reporter* reporter, const char* filename) { 7567 static void battleOp274(skiatest::Reporter* reporter, const char* filename) {
7618 SkPath path; 7568 SkPath path;
7619 path.setFillType((SkPath::FillType) 1); 7569 path.setFillType((SkPath::FillType) 1);
7620 path.moveTo(SkBits2Float(0xb630015d), SkBits2Float(0xc2700000)); 7570 path.moveTo(SkBits2Float(0xb630015d), SkBits2Float(0xc2700000));
7621 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7571 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7622 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb)); 7572 path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x 427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2 093dbb));
7623 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b)); 7573 path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x 42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x42 5a890b));
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
7884 path.cubicTo(SkBits2Float(0xc175dd55), SkBits2Float(0x427ddd08), SkBits2Float(0x 414d1bd1), SkBits2Float(0x42800ed7), SkBits2Float(0x420828d0), SkBits2Float(0x42 45a338)); 7834 path.cubicTo(SkBits2Float(0xc175dd55), SkBits2Float(0x427ddd08), SkBits2Float(0x 414d1bd1), SkBits2Float(0x42800ed7), SkBits2Float(0x420828d0), SkBits2Float(0x42 45a338));
7885 path.lineTo(SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b30a)); 7835 path.lineTo(SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b30a));
7886 path.close(); 7836 path.close();
7887 7837
7888 SkPath path2(path); 7838 SkPath path2(path);
7889 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7839 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
7890 } 7840 }
7891 // op end success 1 7841 // op end success 1
7892 7842
7893 static void battleOp283(skiatest::Reporter* reporter, const char* filename) { 7843 static void battleOp283(skiatest::Reporter* reporter, const char* filename) {
7894 if (!FLAGS_runFail) {
7895 return; // draws wrong
7896 }
7897 SkPath path; 7844 SkPath path;
7898 path.setFillType((SkPath::FillType) 0); 7845 path.setFillType((SkPath::FillType) 0);
7899 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7846 path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7900 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926)); 7847 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926));
7901 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99)); 7848 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99));
7902 path.lineTo(SkBits2Float(0x42318ed2), SkBits2Float(0x422178d2)); 7849 path.lineTo(SkBits2Float(0x42318ed2), SkBits2Float(0x422178d2));
7903 path.cubicTo(SkBits2Float(0x427179f2), SkBits2Float(0x41b65f2f), SkBits2Float(0x 4280f58f), SkBits2Float(0xc0230424), SkBits2Float(0x425b7de6), SkBits2Float(0xc1 c225e6)); 7850 path.cubicTo(SkBits2Float(0x427179f2), SkBits2Float(0x41b65f2f), SkBits2Float(0x 4280f58f), SkBits2Float(0xc0230424), SkBits2Float(0x425b7de6), SkBits2Float(0xc1 c225e6));
7904 path.cubicTo(SkBits2Float(0x423510af), SkBits2Float(0xc237f5a4), SkBits2Float(0x 41be01e5), SkBits2Float(0xc26fffff), SkBits2Float(0x3707ffa9), SkBits2Float(0xc2 700000)); 7851 path.cubicTo(SkBits2Float(0x423510af), SkBits2Float(0xc237f5a4), SkBits2Float(0x 41be01e5), SkBits2Float(0xc26fffff), SkBits2Float(0x3707ffa9), SkBits2Float(0xc2 700000));
7905 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000)); 7852 path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
7906 path.close(); 7853 path.close();
7907 7854
7908 SkPath path1(path); 7855 SkPath path1(path);
7909 path.reset(); 7856 path.reset();
7910 path.setFillType((SkPath::FillType) 0); 7857 path.setFillType((SkPath::FillType) 0);
7911 path.moveTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b)); 7858 path.moveTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
7912 path.cubicTo(SkBits2Float(0x42646988), SkBits2Float(0x42724b20), SkBits2Float(0x 425112cb), SkBits2Float(0x42819524), SkBits2Float(0x423bfd7a), SkBits2Float(0x42 88d30e)); 7859 path.cubicTo(SkBits2Float(0x42646988), SkBits2Float(0x42724b20), SkBits2Float(0x 425112cb), SkBits2Float(0x42819524), SkBits2Float(0x423bfd7a), SkBits2Float(0x42 88d30e));
7913 path.lineTo(SkBits2Float(0x4207e580), SkBits2Float(0x4245d187)); 7860 path.lineTo(SkBits2Float(0x4207e580), SkBits2Float(0x4245d187));
7914 path.cubicTo(SkBits2Float(0x4217232e), SkBits2Float(0x423b592c), SkBits2Float(0x 42251e07), SkBits2Float(0x422f26e4), SkBits2Float(0x42318ed3), SkBits2Float(0x42 2178d2)); 7861 path.cubicTo(SkBits2Float(0x4217232e), SkBits2Float(0x423b592c), SkBits2Float(0x 42251e07), SkBits2Float(0x422f26e4), SkBits2Float(0x42318ed3), SkBits2Float(0x42 2178d2));
7915 path.lineTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b)); 7862 path.lineTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
7916 path.close(); 7863 path.close();
7917 7864
7918 SkPath path2(path); 7865 SkPath path2(path);
7919 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 7866 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, FLAGS_runFai l);
7920 } 7867 }
7921 // op end success 1 7868 // op end success 1
7922 7869
7923 static void battleOp284(skiatest::Reporter* reporter, const char* filename) { 7870 static void battleOp284(skiatest::Reporter* reporter, const char* filename) {
7924 SkPath path; 7871 SkPath path;
7925 path.setFillType((SkPath::FillType) 1); 7872 path.setFillType((SkPath::FillType) 1);
7926 path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000)); 7873 path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
7927 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000)); 7874 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
7928 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926)); 7875 path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x 427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2 064926));
7929 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99)); 7876 path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x 42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x42 5f5e99));
(...skipping 2802 matching lines...) Expand 10 before | Expand all | Expand 10 after
10732 path.cubicTo(SkBits2Float(0x3dbed1a5), SkBits2Float(0xc2a5fffa), SkBits2Float(0x 3dfda9cc), SkBits2Float(0xc2a5fff4), SkBits2Float(0x3e1e40f8), SkBits2Float(0xc2 a5ffed)); 10679 path.cubicTo(SkBits2Float(0x3dbed1a5), SkBits2Float(0xc2a5fffa), SkBits2Float(0x 3dfda9cc), SkBits2Float(0xc2a5fff4), SkBits2Float(0x3e1e40f8), SkBits2Float(0xc2 a5ffed));
10733 path.lineTo(SkBits2Float(0x3de4ce81), SkBits2Float(0xc26fffe5)); 10680 path.lineTo(SkBits2Float(0x3de4ce81), SkBits2Float(0xc26fffe5));
10734 path.cubicTo(SkBits2Float(0x3db75eff), SkBits2Float(0xc26ffff0), SkBits2Float(0x 3d89f101), SkBits2Float(0xc26ffff8), SkBits2Float(0x3d390604), SkBits2Float(0xc2 6ffffc)); 10681 path.cubicTo(SkBits2Float(0x3db75eff), SkBits2Float(0xc26ffff0), SkBits2Float(0x 3d89f101), SkBits2Float(0xc26ffff8), SkBits2Float(0x3d390604), SkBits2Float(0xc2 6ffffc));
10735 path.lineTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd)); 10682 path.lineTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd));
10736 path.close(); 10683 path.close();
10737 10684
10738 SkPath path2(path); 10685 SkPath path2(path);
10739 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 10686 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
10740 } 10687 }
10741 10688
10742 static void (*firstTest)(skiatest::Reporter* , const char* filename) = battleOp6 001; 10689 static void (*firstTest)(skiatest::Reporter* , const char* filename) = battleOp6 8;
10743 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 10690 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
10744 10691
10745 static struct TestDesc tests[] = { 10692 static struct TestDesc tests[] = {
10746 TEST(battleOp1), 10693 TEST(battleOp1),
10747 TEST(battleOp2), 10694 TEST(battleOp2),
10748 TEST(battleOp3), 10695 TEST(battleOp3),
10749 TEST(battleOp4), 10696 TEST(battleOp4),
10750 TEST(battleOp5), 10697 TEST(battleOp5),
10751 TEST(battleOp6), 10698 TEST(battleOp6),
10752 TEST(battleOp7), 10699 TEST(battleOp7),
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
10785 TEST(battleOp37), 10732 TEST(battleOp37),
10786 TEST(battleOp38), 10733 TEST(battleOp38),
10787 TEST(battleOp39), 10734 TEST(battleOp39),
10788 TEST(battleOp40), 10735 TEST(battleOp40),
10789 10736
10790 TEST(battleOp41), 10737 TEST(battleOp41),
10791 TEST(battleOp42), 10738 TEST(battleOp42),
10792 TEST(battleOp43), 10739 TEST(battleOp43),
10793 TEST(battleOp44), 10740 TEST(battleOp44),
10794 TEST(battleOp45), 10741 TEST(battleOp45),
10795 TEST(battleOp46), // draws wrong : dropped an outer cubic incorrectly
10796 // if assembly rewrite was done, the error would be hidden
10797 TEST(battleOp47), 10742 TEST(battleOp47),
10798 TEST(battleOp48), 10743 TEST(battleOp48),
10799 TEST(battleOp49), 10744 TEST(battleOp49),
10800 TEST(battleOp50), 10745 TEST(battleOp50),
10801 10746
10802 TEST(battleOp51), 10747 TEST(battleOp51),
10803 TEST(battleOp52), 10748 TEST(battleOp52),
10804 TEST(battleOp53), 10749 TEST(battleOp53),
10805 TEST(battleOp54), // draws wrong
10806 TEST(battleOp55), 10750 TEST(battleOp55),
10807 TEST(battleOp56), 10751 TEST(battleOp56),
10808 TEST(battleOp57), 10752 TEST(battleOp57),
10809 TEST(battleOp58), 10753 TEST(battleOp58),
10810 TEST(battleOp59), // draws wrong 10754 TEST(battleOp59),
10811 TEST(battleOp60), 10755 TEST(battleOp60),
10812 10756
10813 TEST(battleOp61), 10757 TEST(battleOp61),
10814 TEST(battleOp62), 10758 TEST(battleOp62),
10815 TEST(battleOp63), // draws wrong
10816 TEST(battleOp64), 10759 TEST(battleOp64),
10817 TEST(battleOp65), 10760 TEST(battleOp65),
10818 TEST(battleOp66), 10761 TEST(battleOp66),
10819 TEST(battleOp67), 10762 TEST(battleOp67),
10820 TEST(battleOp68), 10763 TEST(battleOp68),
10821 TEST(battleOp69), 10764 TEST(battleOp69),
10822 TEST(battleOp70), 10765 TEST(battleOp70),
10823 10766
10824 TEST(battleOp71), 10767 TEST(battleOp71),
10825 TEST(battleOp72), 10768 TEST(battleOp72),
10826 TEST(battleOp73), 10769 TEST(battleOp73),
10827 TEST(battleOp74), 10770 TEST(battleOp74),
10828 TEST(battleOp75), 10771 TEST(battleOp75),
10829 TEST(battleOp76), 10772 TEST(battleOp76),
10830 TEST(battleOp77), 10773 TEST(battleOp77),
10831 TEST(battleOp78), 10774 TEST(battleOp78),
10832 TEST(battleOp79), 10775 TEST(battleOp79),
10833 TEST(battleOp80), 10776 TEST(battleOp80),
10834 10777
10835 TEST(battleOp81), 10778 TEST(battleOp81),
10836 TEST(battleOp82), 10779 TEST(battleOp82),
10837 TEST(battleOp83), 10780 TEST(battleOp83),
10838 TEST(battleOp84), 10781 TEST(battleOp84),
10839 TEST(battleOp85), // draws wrong 10782 TEST(battleOp85),
10840 TEST(battleOp86), 10783 TEST(battleOp86),
10841 TEST(battleOp87), 10784 TEST(battleOp87),
10842 TEST(battleOp88), 10785 TEST(battleOp88),
10843 TEST(battleOp89), 10786 TEST(battleOp89),
10844 TEST(battleOp90), 10787 TEST(battleOp90),
10845 10788
10846 TEST(battleOp91), 10789 TEST(battleOp91),
10847 TEST(battleOp92), 10790 TEST(battleOp92),
10848 TEST(battleOp93), 10791 TEST(battleOp93),
10849 TEST(battleOp94), 10792 TEST(battleOp94),
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
10898 TEST(battleOp139), 10841 TEST(battleOp139),
10899 TEST(battleOp140), 10842 TEST(battleOp140),
10900 10843
10901 TEST(battleOp141), 10844 TEST(battleOp141),
10902 TEST(battleOp142), 10845 TEST(battleOp142),
10903 TEST(battleOp143), 10846 TEST(battleOp143),
10904 TEST(battleOp144), 10847 TEST(battleOp144),
10905 TEST(battleOp145), 10848 TEST(battleOp145),
10906 TEST(battleOp146), 10849 TEST(battleOp146),
10907 TEST(battleOp147), 10850 TEST(battleOp147),
10908 TEST(battleOp148), // draws wrong
10909 TEST(battleOp149), 10851 TEST(battleOp149),
10910 TEST(battleOp150), 10852 TEST(battleOp150),
10911 10853
10912 TEST(battleOp151), 10854 TEST(battleOp151),
10913 TEST(battleOp152),
10914 TEST(battleOp153), 10855 TEST(battleOp153),
10915 TEST(battleOp154), 10856 TEST(battleOp154),
10916 TEST(battleOp155), 10857 TEST(battleOp155),
10917 TEST(battleOp156), 10858 TEST(battleOp156),
10918 TEST(battleOp157),
10919 TEST(battleOp158), 10859 TEST(battleOp158),
10920 TEST(battleOp159), 10860 TEST(battleOp159),
10921 TEST(battleOp160), 10861 TEST(battleOp160),
10922 10862
10923 TEST(battleOp161), 10863 TEST(battleOp161),
10924 TEST(battleOp162), 10864 TEST(battleOp162),
10925 TEST(battleOp163),
10926 TEST(battleOp164), 10865 TEST(battleOp164),
10927 TEST(battleOp165), 10866 TEST(battleOp165),
10928 TEST(battleOp166), 10867 TEST(battleOp166),
10929 TEST(battleOp167), 10868 TEST(battleOp167),
10930 TEST(battleOp168), 10869 TEST(battleOp168),
10931 TEST(battleOp169), 10870 TEST(battleOp169),
10932 TEST(battleOp170), 10871 TEST(battleOp170),
10933 10872
10934 TEST(battleOp171), 10873 TEST(battleOp171),
10935 TEST(battleOp172), 10874 TEST(battleOp172),
10936 TEST(battleOp173), 10875 TEST(battleOp173),
10937 TEST(battleOp174), 10876 TEST(battleOp174),
10938 TEST(battleOp175), 10877 TEST(battleOp175),
10939 TEST(battleOp176), 10878 TEST(battleOp176),
10940 TEST(battleOp177), 10879 TEST(battleOp177),
10941 TEST(battleOp178), 10880 TEST(battleOp178),
10942 TEST(battleOp179), 10881 TEST(battleOp179),
10943 TEST(battleOp180), 10882 TEST(battleOp180),
10944 10883
10945 TEST(battleOp181),
10946 TEST(battleOp182), 10884 TEST(battleOp182),
10947 TEST(battleOp183),
10948 TEST(battleOp184), 10885 TEST(battleOp184),
10949 TEST(battleOp185), 10886 TEST(battleOp185),
10950 TEST(battleOp186), 10887 TEST(battleOp186),
10951 TEST(battleOp187), 10888 TEST(battleOp187),
10952 TEST(battleOp188), 10889 TEST(battleOp188),
10953 TEST(battleOp189), 10890 TEST(battleOp189),
10954 TEST(battleOp190), 10891 TEST(battleOp190),
10955 10892
10956 TEST(battleOp191), 10893 TEST(battleOp191),
10957 TEST(battleOp192), 10894 TEST(battleOp192),
10958 TEST(battleOp193), 10895 TEST(battleOp193),
10959 TEST(battleOp194), 10896 TEST(battleOp194),
10960 TEST(battleOp195),
10961 TEST(battleOp196), 10897 TEST(battleOp196),
10962 TEST(battleOp197), 10898 TEST(battleOp197),
10963 TEST(battleOp198),
10964 TEST(battleOp199), 10899 TEST(battleOp199),
10965 TEST(battleOp200), 10900 TEST(battleOp200),
10966 10901
10967 TEST(battleOp201), 10902 TEST(battleOp201),
10968 TEST(battleOp202), 10903 TEST(battleOp202),
10969 TEST(battleOp203), 10904 TEST(battleOp203),
10970 TEST(battleOp204), 10905 TEST(battleOp204),
10971 TEST(battleOp205), 10906 TEST(battleOp205),
10972 TEST(battleOp206), 10907 TEST(battleOp206),
10973 TEST(battleOp207), 10908 TEST(battleOp207),
(...skipping 14 matching lines...) Expand all
10988 10923
10989 TEST(battleOp221), 10924 TEST(battleOp221),
10990 TEST(battleOp222), 10925 TEST(battleOp222),
10991 TEST(battleOp223), 10926 TEST(battleOp223),
10992 TEST(battleOp224), 10927 TEST(battleOp224),
10993 TEST(battleOp225), 10928 TEST(battleOp225),
10994 TEST(battleOp226), 10929 TEST(battleOp226),
10995 TEST(battleOp227), 10930 TEST(battleOp227),
10996 TEST(battleOp228), 10931 TEST(battleOp228),
10997 TEST(battleOp229), 10932 TEST(battleOp229),
10998 TEST(battleOp230),
10999 10933
11000 TEST(battleOp231), 10934 TEST(battleOp231),
11001 TEST(battleOp232), 10935 TEST(battleOp232),
11002 TEST(battleOp233), 10936 TEST(battleOp233),
11003 TEST(battleOp234), 10937 TEST(battleOp234),
11004 TEST(battleOp235), 10938 TEST(battleOp235),
11005 TEST(battleOp236), 10939 TEST(battleOp236),
11006 TEST(battleOp237), 10940 TEST(battleOp237),
11007 TEST(battleOp238), 10941 TEST(battleOp238),
11008 TEST(battleOp239), 10942 TEST(battleOp239),
11009 TEST(battleOp240), 10943 TEST(battleOp240),
11010 10944
11011 TEST(battleOp241), 10945 TEST(battleOp241),
11012 TEST(battleOp242), 10946 TEST(battleOp242),
11013 TEST(battleOp243), 10947 TEST(battleOp243),
11014 TEST(battleOp244), 10948 TEST(battleOp244),
11015 TEST(battleOp245), 10949 TEST(battleOp245),
11016 TEST(battleOp246), 10950 TEST(battleOp246),
11017 TEST(battleOp247), 10951 TEST(battleOp247),
11018 TEST(battleOp248), 10952 TEST(battleOp248),
11019 TEST(battleOp249), 10953 TEST(battleOp249),
11020 TEST(battleOp250), 10954 TEST(battleOp250),
11021 10955
11022 TEST(battleOp251), 10956 TEST(battleOp251),
11023 TEST(battleOp252), 10957 TEST(battleOp252),
11024 TEST(battleOp253), 10958 TEST(battleOp253),
11025 TEST(battleOp254), 10959 TEST(battleOp254),
11026 TEST(battleOp255), 10960 TEST(battleOp255),
11027 TEST(battleOp256),
11028 TEST(battleOp257), 10961 TEST(battleOp257),
11029 TEST(battleOp258), 10962 TEST(battleOp258),
11030 TEST(battleOp259), 10963 TEST(battleOp259),
11031 TEST(battleOp260), 10964 TEST(battleOp260),
11032 10965
11033 TEST(battleOp261), 10966 TEST(battleOp261),
11034 TEST(battleOp262), 10967 TEST(battleOp262),
11035 TEST(battleOp263), 10968 TEST(battleOp263),
11036 TEST(battleOp264), 10969 TEST(battleOp264),
11037 TEST(battleOp265), 10970 TEST(battleOp265),
11038 TEST(battleOp266), 10971 TEST(battleOp266),
11039 TEST(battleOp267), 10972 TEST(battleOp267),
11040 TEST(battleOp268), 10973 TEST(battleOp268),
11041 TEST(battleOp269),
11042 TEST(battleOp270), 10974 TEST(battleOp270),
11043 10975
11044 TEST(battleOp271), 10976 TEST(battleOp271),
11045 TEST(battleOp272), 10977 TEST(battleOp272),
11046 TEST(battleOp273),
11047 TEST(battleOp274), 10978 TEST(battleOp274),
11048 TEST(battleOp275), 10979 TEST(battleOp275),
11049 TEST(battleOp276), 10980 TEST(battleOp276),
11050 TEST(battleOp277), 10981 TEST(battleOp277),
11051 TEST(battleOp278), 10982 TEST(battleOp278),
11052 TEST(battleOp279), 10983 TEST(battleOp279),
11053 TEST(battleOp280), 10984 TEST(battleOp280),
11054 10985
11055 TEST(battleOp281), 10986 TEST(battleOp281),
11056 TEST(battleOp282), 10987 TEST(battleOp282),
11057 TEST(battleOp283),
11058 TEST(battleOp284), 10988 TEST(battleOp284),
11059 TEST(battleOp285), 10989 TEST(battleOp285),
11060 TEST(battleOp286), 10990 TEST(battleOp286),
11061 TEST(battleOp287), 10991 TEST(battleOp287),
11062 TEST(battleOp288), 10992 TEST(battleOp288),
11063 TEST(battleOp289), 10993 TEST(battleOp289),
11064 TEST(battleOp290), 10994 TEST(battleOp290),
11065 10995
11066 TEST(battleOp291), 10996 TEST(battleOp291),
11067 TEST(battleOp292), 10997 TEST(battleOp292),
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
11161 11091
11162 TEST(battleOp5193), 11092 TEST(battleOp5193),
11163 TEST(battleOp5194), 11093 TEST(battleOp5194),
11164 11094
11165 TEST(battleOp6000), 11095 TEST(battleOp6000),
11166 TEST(battleOp6001), 11096 TEST(battleOp6001),
11167 11097
11168 TEST(issue414409c), 11098 TEST(issue414409c),
11169 TEST(issue414409b), 11099 TEST(issue414409b),
11170 TEST(issue414409), 11100 TEST(issue414409),
11101
11102 // these draw wrong
11103 TEST(battleOp46), // dropped an outer cubic incorrectly
11104 // if assembly rewrite was done, the error would be hidde n
11105 TEST(battleOp54),
11106 TEST(battleOp63),
11107 TEST(battleOp152),
11108 TEST(battleOp157),
11109 TEST(battleOp163),
11110 TEST(battleOp181),
11111 TEST(battleOp183),
11112 TEST(battleOp195),
11113 TEST(battleOp198),
11114 TEST(battleOp230),
11115 TEST(battleOp256),
11116 TEST(battleOp269),
11117 TEST(battleOp273),
11118 TEST(battleOp148),
11119 TEST(battleOp283),
11171 }; 11120 };
11172 11121
11173 11122
11174 static const size_t testCount = SK_ARRAY_COUNT(tests); 11123 static const size_t testCount = SK_ARRAY_COUNT(tests);
11175 11124
11176 static bool runReverse = false; 11125 static bool runReverse = false;
11177 11126
11178 DEF_TEST(PathOpsBattle, reporter) { 11127 DEF_TEST(PathOpsBattle, reporter) {
11179 #if DEBUG_SHOW_TEST_NAME 11128 #if DEBUG_SHOW_TEST_NAME
11180 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); 11129 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
11181 #endif 11130 #endif
11182 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); 11131 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse);
11183 } 11132 }
OLDNEW
« no previous file with comments | « src/pathops/SkReduceOrder.cpp ('k') | tests/PathOpsDebug.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698