Lines Matching full:fuzz
8 #include "fuzz/Fuzz.h"
25 static void init_string(Fuzz* fuzz, char* str, size_t bufSize) { in init_string() argument
27 fuzz->nextRange(&str[i], 0x20, 0x7E); // printable ASCII in init_string()
33 static void init_paint(Fuzz* fuzz, SkPaint* p) { in init_paint() argument
35 fuzz->next(&b); in init_paint()
39 fuzz->nextRange(&tmp_u8, 0, (int)SkBlendMode::kLastMode); in init_paint()
43 fuzz->next(&co); in init_paint()
46 fuzz->next(&b); in init_paint()
49 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kLast_Cap); in init_paint()
52 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kLast_Join); in init_paint()
56 fuzz->next(&sc); in init_paint()
59 fuzz->next(&sc); in init_paint()
62 fuzz->nextRange(&tmp_u8, 0, (int)SkPaint::kStrokeAndFill_Style); in init_paint()
66 static void init_bitmap(Fuzz* fuzz, SkBitmap* bmp) { in init_bitmap() argument
68 fuzz->nextRange(&colorType, 0, (int)kLastEnum_SkColorType); in init_bitmap()
74 fuzz->next(&b); in init_bitmap()
83 fuzz->next(&c); in init_bitmap()
86 fuzz->next(&b); in init_bitmap()
89 init_paint(fuzz, &p); in init_bitmap()
92 fuzz->next(&c); in init_bitmap()
97 static void init_surface(Fuzz* fuzz, sk_sp<SkSurface>* s) { in init_surface() argument
99 fuzz->nextRange(&x, 1, kMaxX); in init_surface()
100 fuzz->nextRange(&y, 1, kMaxY); in init_surface()
110 static void fuzz_drawText(Fuzz* fuzz, sk_sp<SkTypeface> typeface) { in fuzz_drawText() argument
113 init_paint(fuzz, &p); in fuzz_drawText()
115 init_surface(fuzz, &surface); in fuzz_drawText()
118 init_string(fuzz, text, kTxtLen); in fuzz_drawText()
121 fuzz->next(&x, &y); in fuzz_drawText()
130 fuzz->next(&b); in fuzz_drawText()
132 fuzz->next(&b); in fuzz_drawText()
134 fuzz->next(&b); in fuzz_drawText()
136 fuzz->next(&b); in fuzz_drawText()
138 fuzz->next(&b); in fuzz_drawText()
140 fuzz->next(&b); in fuzz_drawText()
142 fuzz->next(&x); in fuzz_drawText()
144 fuzz->next(&x); in fuzz_drawText()
146 fuzz->next(&x); in fuzz_drawText()
150 fuzz->next(&x); in fuzz_drawText()
151 fuzz->next(&y); in fuzz_drawText()
155 static void fuzz_drawCircle(Fuzz* fuzz) { in fuzz_drawCircle() argument
157 init_paint(fuzz, &p); in fuzz_drawCircle()
159 init_surface(fuzz, &surface); in fuzz_drawCircle()
162 fuzz->next(&a, &b, &c); in fuzz_drawCircle()
166 static void fuzz_drawLine(Fuzz* fuzz) { in fuzz_drawLine() argument
168 init_paint(fuzz, &p); in fuzz_drawLine()
170 init_surface(fuzz, &surface); in fuzz_drawLine()
173 fuzz->next(&a, &b, &c, &d); in fuzz_drawLine()
177 static void fuzz_drawRect(Fuzz* fuzz) { in fuzz_drawRect() argument
179 init_paint(fuzz, &p); in fuzz_drawRect()
181 init_surface(fuzz, &surface); in fuzz_drawRect()
184 fuzz->next(&a, &b, &c, &d); in fuzz_drawRect()
192 fuzz->next(&bl); in fuzz_drawRect()
193 fuzz->next(&a, &b, &c, &d); in fuzz_drawRect()
198 static void fuzz_drawPath(Fuzz* fuzz) { in fuzz_drawPath() argument
200 init_paint(fuzz, &p); in fuzz_drawPath()
202 init_surface(fuzz, &surface); in fuzz_drawPath()
204 // TODO(kjlubick): put the ability to fuzz a path in shared file, with in fuzz_drawPath()
207 fuzz->nextRange(&i, 0, 10); // set i to number of operations to perform in fuzz_drawPath()
211 fuzz->nextRange(&j, 0, 5); // set j to choose operation to perform in fuzz_drawPath()
214 fuzz->next(&a, &b); in fuzz_drawPath()
218 fuzz->next(&a, &b); in fuzz_drawPath()
222 fuzz->next(&a, &b, &c, &d); in fuzz_drawPath()
226 fuzz->next(&a, &b, &c, &d, &e); in fuzz_drawPath()
230 fuzz->next(&a, &b, &c, &d, &e, &f); in fuzz_drawPath()
234 fuzz->next(&a, &b, &c, &d, &e); in fuzz_drawPath()
245 fuzz->next(&bl); in fuzz_drawPath()
249 static void fuzz_drawImage(Fuzz* fuzz) { in fuzz_drawImage() argument
251 init_paint(fuzz, &p); in fuzz_drawImage()
253 init_surface(fuzz, &surface); in fuzz_drawImage()
255 init_bitmap(fuzz, &bmp); in fuzz_drawImage()
260 fuzz->next(&bl); in fuzz_drawImage()
262 fuzz->next(&a, &b); in fuzz_drawImage()
268 fuzz->next(&a, &b); in fuzz_drawImage()
271 fuzz->nextRange(&x, 0, 1); in fuzz_drawImage()
277 static void fuzz_drawPaint(Fuzz* fuzz) { in fuzz_drawPaint() argument
279 init_paint(fuzz, &p); in fuzz_drawPaint()
281 init_surface(fuzz, &surface); in fuzz_drawPaint()
286 DEF_FUZZ(DrawFunctions, fuzz) { in DEF_FUZZ() argument
288 fuzz->next(&i); in DEF_FUZZ()
295 fuzz->signalBug(); in DEF_FUZZ()
297 SkDEBUGF("Fuzz DrawText\n"); in DEF_FUZZ()
298 fuzz_drawText(fuzz, f); in DEF_FUZZ()
302 SkDEBUGF("Fuzz DrawRect\n"); in DEF_FUZZ()
303 fuzz_drawRect(fuzz); in DEF_FUZZ()
306 SkDEBUGF("Fuzz DrawCircle\n"); in DEF_FUZZ()
307 fuzz_drawCircle(fuzz); in DEF_FUZZ()
310 SkDEBUGF("Fuzz DrawLine\n"); in DEF_FUZZ()
311 fuzz_drawLine(fuzz); in DEF_FUZZ()
314 SkDEBUGF("Fuzz DrawPath\n"); in DEF_FUZZ()
315 fuzz_drawPath(fuzz); in DEF_FUZZ()
318 SkDEBUGF("Fuzz DrawImage/DrawImageRect\n"); in DEF_FUZZ()
319 fuzz_drawImage(fuzz); in DEF_FUZZ()
322 SkDEBUGF("Fuzz DrawPaint\n"); in DEF_FUZZ()
323 fuzz_drawPaint(fuzz); in DEF_FUZZ()