import os, pixie, random when not defined(pixieLeakCheck): quit("Requires -d:pixieLeakCheck") randomize() for i in 0 ..< 100_000: let image = newImage(400, 400) image.fill(rgba(255, 255, 255, 255)) let ctx = newContext(image) ctx.translate(200, 200) ctx.scale(vec2(rand(0.1 .. 1.7), rand(0.1 .. 1.7))) ctx.rotate(rand(0.0 .. 2*PI)) ctx.strokeStyle = "#000000" ctx.lineCap = sample([lcRound, lcButt, lcSquare]) ctx.lineJoin = sample([ljMiter, ljRound, ljBevel]) ctx.lineWidth = rand(0.1 .. 1.0) var first = true var number = rand(2 .. 100) for a in 0 .. number: let th = a.float32 / number.float32 * PI let pos = vec2(sin(th) * 100, cos(th) * 100) if first: ctx.moveTo(pos) first = false else: ctx.lineTo(pos) ctx.stroke() # image.writeFile("tests/fuzz_leaks2.png") # break