Home | History | Annotate | Download | only in fuzz

Lines Matching full:fuzz

8 #include "Fuzz.h"
23 static void init_string(Fuzz* fuzz, char* str, size_t bufSize) {
25 fuzz->nextRange(&str[i], 0x20, 0x7E); // printable ASCII
31 static void init_paint(Fuzz* fuzz, SkPaint* p) {
33 fuzz->next(&b);
37 fuzz->nextRange(&tmp_u8, 0, (int)SkBlendMode::kLastMode);
41 fuzz->next(&co);
44 fuzz->next(&b);
47 fuzz->nextRange(&tmp_u8, 0, (int)kHigh_SkFilterQuality);
50 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kFull_Hinting);
53 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kLast_Cap);
56 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kLast_Join);
60 fuzz->next(&sc);
63 fuzz->next(&sc);
66 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kStrokeAndFill_Style);
70 static void init_bitmap(Fuzz* fuzz, SkBitmap* bmp) {
72 fuzz->nextRange(&colorType, 0, (int)kLastEnum_SkColorType);
78 fuzz->next(&b);
87 fuzz->next(&c);
90 fuzz->next(&b);
93 init_paint(fuzz, &p);
96 fuzz->next(&c);
101 static void init_surface(Fuzz* fuzz, sk_sp<SkSurface>* s) {
103 fuzz->nextRange(&x, 1, kMaxX);
104 fuzz->nextRange(&y, 1, kMaxY);
109 static void fuzz_drawText(Fuzz* fuzz, sk_sp<SkTypeface> font) {
111 init_paint(fuzz, &p);
113 init_surface(fuzz, &surface);
116 init_string(fuzz, text, kTxtLen);
119 fuzz->next(&x, &y);
130 fuzz->next(&b);
132 fuzz->next(&b);
134 fuzz->next(&b);
136 fuzz->next(&b);
138 fuzz->next(&b);
140 fuzz->next(&b);
142 fuzz->next(&b);
144 fuzz->next(&x);
146 fuzz->next(&x);
148 fuzz->next(&x);
150 fuzz->next(&b);
156 fuzz->next(&x);
157 fuzz->next(&y);
161 static void fuzz_drawCircle(Fuzz* fuzz) {
163 init_paint(fuzz, &p);
165 init_surface(fuzz, &surface);
168 fuzz->next(&a, &b, &c);
172 static void fuzz_drawLine(Fuzz* fuzz) {
174 init_paint(fuzz, &p);
176 init_surface(fuzz, &surface);
179 fuzz->next(&a, &b, &c, &d);
183 static void fuzz_drawRect(Fuzz* fuzz) {
185 init_paint(fuzz, &p);
187 init_surface(fuzz, &surface);
190 fuzz->next(&a, &b, &c, &d);
198 fuzz->next(&bl);
199 fuzz->next(&a, &b, &c, &d);
204 static void fuzz_drawPath(Fuzz* fuzz) {
206 init_paint(fuzz, &p);
208 init_surface(fuzz, &surface);
210 // TODO(kjlubick): put the ability to fuzz a path in shared file, with
213 fuzz->nextRange(&i, 0, 10); // set i to number of operations to perform
217 fuzz->nextRange(&j, 0, 5); // set j to choose operation to perform
220 fuzz->next(&a, &b);
224 fuzz->next(&a, &b);
228 fuzz->next(&a, &b, &c, &d);
232 fuzz->next(&a, &b, &c, &d, &e);
236 fuzz->next(&a, &b, &c, &d, &e, &f);
240 fuzz->next(&a, &b, &c, &d, &e);
251 fuzz->next(&bl);
255 static void fuzz_drawBitmap(Fuzz* fuzz) {
257 init_paint(fuzz, &p);
259 init_surface(fuzz, &surface);
261 init_bitmap(fuzz, &bmp);
264 fuzz->next(&a, &b);
268 static void fuzz_drawImage(Fuzz* fuzz) {
270 init_paint(fuzz, &p);
272 init_surface(fuzz, &surface);
274 init_bitmap(fuzz, &bmp);
279 fuzz->next(&bl);
281 fuzz->next(&a, &b);
287 fuzz->next(&a, &b);
290 fuzz->nextRange(&x, 0, 1);
296 static void fuzz_drawPaint(Fuzz* fuzz) {
298 init_paint(fuzz, &p);
300 init_surface(fuzz, &surface);
305 DEF_FUZZ(DrawFunctions, fuzz) {
307 fuzz->next(&i);
314 fuzz->signalBug();
316 SkDebugf("Fuzz DrawText\n");
317 fuzz_drawText(fuzz, f);
321 SkDebugf("Fuzz DrawRect\n");
322 fuzz_drawRect(fuzz);
325 SkDebugf("Fuzz DrawCircle\n");
326 fuzz_drawCircle(fuzz);
329 SkDebugf("Fuzz DrawLine\n");
330 fuzz_drawLine(fuzz);
333 SkDebugf("Fuzz DrawPath\n");
334 fuzz_drawPath(fuzz);
337 SkDebugf("Fuzz DrawImage/DrawImageRect\n");
338 fuzz_drawImage(fuzz);
341 SkDebugf("Fuzz DrawBitmap\n");
342 fuzz_drawBitmap(fuzz);
345 SkDebugf("Fuzz DrawPaint\n");
346 fuzz_drawPaint(fuzz);