OLD | NEW |
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 class PathTest_Private { | 10 class PathTest_Private { |
(...skipping 8138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8149 path.close(); | 8149 path.close(); |
8150 path.moveTo(SkBits2Float(0x1ab8e97c), SkBits2Float(0x94fbe3ef)); // 7.64778e-23
f, -2.54344e-26f | 8150 path.moveTo(SkBits2Float(0x1ab8e97c), SkBits2Float(0x94fbe3ef)); // 7.64778e-23
f, -2.54344e-26f |
8151 path.conicTo(SkBits2Float(0x75757575), SkBits2Float(0x7575758f), SkBits2Float(0x
7f757575), SkBits2Float(0x75757575), SkBits2Float(0x75757575)); // 3.11156e+32f
, 3.11157e+32f, 3.26271e+38f, 3.11156e+32f, 3.11156e+32f | 8151 path.conicTo(SkBits2Float(0x75757575), SkBits2Float(0x7575758f), SkBits2Float(0x
7f757575), SkBits2Float(0x75757575), SkBits2Float(0x75757575)); // 3.11156e+32f
, 3.11157e+32f, 3.26271e+38f, 3.11156e+32f, 3.11156e+32f |
8152 path.lineTo(SkBits2Float(0x1ab8e97c), SkBits2Float(0x94fbe3ef)); // 7.64778e-23
f, -2.54344e-26f | 8152 path.lineTo(SkBits2Float(0x1ab8e97c), SkBits2Float(0x94fbe3ef)); // 7.64778e-23
f, -2.54344e-26f |
8153 path.close(); | 8153 path.close(); |
8154 | 8154 |
8155 SkPath path2(path); | 8155 SkPath path2(path); |
8156 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename); | 8156 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename); |
8157 } | 8157 } |
8158 | 8158 |
| 8159 static void fuzz763_53(skiatest::Reporter* reporter, const char* filename) { |
| 8160 SkPath path; |
| 8161 path.setFillType((SkPath::FillType) 1); |
| 8162 path.moveTo(SkBits2Float(0x7644b829), SkBits2Float(0x00000000)); // 9.97486e+32
f, 0 |
| 8163 path.lineTo(SkBits2Float(0x74fc5b97), SkBits2Float(0x77df944a)); // 1.59951e+32
f, 9.06945e+33f |
| 8164 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xf8fbe3ff)); // 0, -4.08716
e+34f |
| 8165 path.lineTo(SkBits2Float(0x7644b829), SkBits2Float(0x00000000)); // 9.97486e+32
f, 0 |
| 8166 path.close(); |
| 8167 |
| 8168 SkPath path1(path); |
| 8169 path.reset(); |
| 8170 path.setFillType((SkPath::FillType) 0); |
| 8171 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 |
| 8172 path.quadTo(SkBits2Float(0x45ab86ae), SkBits2Float(0xd6d6626c), SkBits2Float(0xd
6d6d6d6), SkBits2Float(0x7644d6d6)); // 5488.83f, -1.17859e+14f, -1.18109e+14f,
9.98093e+32f |
| 8173 path.moveTo(SkBits2Float(0xd6d6d6d6), SkBits2Float(0xd6d6d6d6)); // -1.18109e+1
4f, -1.18109e+14f |
| 8174 path.cubicTo(SkBits2Float(0xd6d6d6d6), SkBits2Float(0x64fed6d6), SkBits2Float(0x
7644ef40), SkBits2Float(0x290877fc), SkBits2Float(0x447644b8), SkBits2Float(0x80
fafc76)); // -1.18109e+14f, 3.76076e+22f, 9.98577e+32f, 3.03021e-14f, 985.074f,
-2.30494e-38f |
| 8175 path.conicTo(SkBits2Float(0x87808080), SkBits2Float(0x764400ae), SkBits2Float(0x
764400fc), SkBits2Float(0x450080fc), SkBits2Float(0x3636366c)); // -1.93348e-34
f, 9.93852e+32f, 9.93858e+32f, 2056.06f, 2.71518e-06f |
| 8176 path.lineTo(SkBits2Float(0xd6d6d6d6), SkBits2Float(0xd6d6d6d6)); // -1.18109e+1
4f, -1.18109e+14f |
| 8177 path.close(); |
| 8178 path.moveTo(SkBits2Float(0xef08a412), SkBits2Float(0x5aaeff7f)); // -4.22883e+2
8f, 2.46288e+16f |
| 8179 path.conicTo(SkBits2Float(0x7644626c), SkBits2Float(0x088912fc), SkBits2Float(0x
ae8744ef), SkBits2Float(0x76571f5a), SkBits2Float(0x45ab86fc)); // 9.95788e+32f
, 8.24985e-34f, -6.15133e-11f, 1.0908e+33f, 5488.87f |
| 8180 path.conicTo(SkBits2Float(0x4064fe62), SkBits2Float(0x290877ef), SkBits2Float(0x
780080b8), SkBits2Float(0x553c7644), SkBits2Float(0x644eae87)); // 3.57803f, 3.
03021e-14f, 1.04254e+34f, 1.2951e+13f, 1.52504e+22f |
| 8181 path.lineTo(SkBits2Float(0xef08a412), SkBits2Float(0x5aaeff7f)); // -4.22883e+2
8f, 2.46288e+16f |
| 8182 path.close(); |
| 8183 |
| 8184 SkPath path2(path); |
| 8185 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename); |
| 8186 } |
| 8187 |
8159 static struct TestDesc failTests[] = { | 8188 static struct TestDesc failTests[] = { |
| 8189 TEST(fuzz763_53), |
8160 TEST(fuzz763_52), | 8190 TEST(fuzz763_52), |
8161 TEST(fuzz763_51), | 8191 TEST(fuzz763_51), |
8162 TEST(fuzz763_50), | 8192 TEST(fuzz763_50), |
8163 TEST(fuzz763_49), | 8193 TEST(fuzz763_49), |
8164 TEST(fuzz763_48), | 8194 TEST(fuzz763_48), |
8165 TEST(fuzz763_47), | 8195 TEST(fuzz763_47), |
8166 TEST(fuzz763_46), | 8196 TEST(fuzz763_46), |
8167 TEST(fuzz763_45), | 8197 TEST(fuzz763_45), |
8168 TEST(fuzz763_44), | 8198 TEST(fuzz763_44), |
8169 TEST(fuzz763_43), | 8199 TEST(fuzz763_43), |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8240 } | 8270 } |
8241 | 8271 |
8242 static struct TestDesc repTests[] = { | 8272 static struct TestDesc repTests[] = { |
8243 TEST(fuzz763_5a), | 8273 TEST(fuzz763_5a), |
8244 }; | 8274 }; |
8245 | 8275 |
8246 DEF_TEST(PathOpsRepOp, reporter) { | 8276 DEF_TEST(PathOpsRepOp, reporter) { |
8247 for (int index = 0; index < 1; ++index) | 8277 for (int index = 0; index < 1; ++index) |
8248 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n
ullptr, false); | 8278 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n
ullptr, false); |
8249 } | 8279 } |
OLD | NEW |