From 8bd0e85f2ee689630670e5ac94ce0b79e17266f9 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 4 Jul 2020 14:50:02 +0200 Subject: [PATCH] internal/rendertest: dump bad images immediately Updates gio#144 Signed-off-by: Elias Naur --- internal/rendertest/util_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/rendertest/util_test.go b/internal/rendertest/util_test.go index ef76cc2b..3392a4bf 100644 --- a/internal/rendertest/util_test.go +++ b/internal/rendertest/util_test.go @@ -3,6 +3,7 @@ package rendertest import ( "bytes" "flag" + "fmt" "image" "image/color" "image/draw" @@ -50,7 +51,6 @@ func drawImage(t *testing.T, size int, ops *op.Ops, draw func(o *op.Ops)) (im *i func run(t *testing.T, f func(o *op.Ops), c func(r result)) { // draw a few times and check that it is correct each time, to // ensure any caching effects still generate the correct images. - ok := true var img *image.RGBA var err error ops := new(op.Ops) @@ -62,11 +62,16 @@ func run(t *testing.T, f func(o *op.Ops), c func(r result)) { return } // check for a reference image and make sure we are identical. - ok = ok && verifyRef(t, img, 0) + if !verifyRef(t, img, 0) { + name := fmt.Sprintf("%s-%d-bad.png", t.Name(), i) + if err := saveImage(name, img); err != nil { + t.Error(err) + } + } c(result{t: t, img: img}) } - if *dumpImages || !ok { + if *dumpImages { if err := saveImage(t.Name()+".png", img); err != nil { t.Error(err) }