mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
gpu/internal/rendertest: only dump images when -saveimages is set
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -50,9 +50,7 @@ func finishBenchmark(b *testing.B, w *headless.Window) {
|
||||
if err != nil {
|
||||
b.Error(err)
|
||||
}
|
||||
if err := saveImage(b.Name()+".png", img); err != nil {
|
||||
b.Error(err)
|
||||
}
|
||||
saveImage(b, b.Name()+".png", img)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,18 +85,10 @@ func run(t *testing.T, f func(o *op.Ops), c func(r result)) {
|
||||
// Check for a reference image and make sure it is identical.
|
||||
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)
|
||||
}
|
||||
saveImage(t, name, img)
|
||||
}
|
||||
c(result{t: t, img: img})
|
||||
}
|
||||
|
||||
if *dumpImages {
|
||||
if err := saveImage(t.Name()+".png", img); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func frame(f func(o *op.Ops), c func(r result)) frameT {
|
||||
@@ -135,14 +127,12 @@ func multiRun(t *testing.T, frames ...frameT) {
|
||||
if frames[i].c != nil {
|
||||
frames[i].c(result{t: t, img: img})
|
||||
}
|
||||
if *dumpImages || !ok {
|
||||
if !ok {
|
||||
name := t.Name() + ".png"
|
||||
if i != 0 {
|
||||
name = t.Name() + "_" + strconv.Itoa(i) + ".png"
|
||||
}
|
||||
if err := saveImage(name, img); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
saveImage(t, name, img)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,7 +247,10 @@ type result struct {
|
||||
img *image.RGBA
|
||||
}
|
||||
|
||||
func saveImage(file string, img *image.RGBA) error {
|
||||
func saveImage(t testing.TB, file string, img *image.RGBA) {
|
||||
if !*dumpImages {
|
||||
return
|
||||
}
|
||||
// Only NRGBA images are losslessly encoded by png.Encode.
|
||||
nrgba := image.NewNRGBA(img.Bounds())
|
||||
bnd := img.Bounds()
|
||||
@@ -268,9 +261,13 @@ func saveImage(file string, img *image.RGBA) error {
|
||||
}
|
||||
var buf bytes.Buffer
|
||||
if err := png.Encode(&buf, nrgba); err != nil {
|
||||
return err
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if err := ioutil.WriteFile(file, buf.Bytes(), 0666); err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
return ioutil.WriteFile(file, buf.Bytes(), 0666)
|
||||
}
|
||||
|
||||
func newWindow(t testing.TB, width, height int) *headless.Window {
|
||||
|
||||
Reference in New Issue
Block a user