mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-06 09:55: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 {
|
if err != nil {
|
||||||
b.Error(err)
|
b.Error(err)
|
||||||
}
|
}
|
||||||
if err := saveImage(b.Name()+".png", img); err != nil {
|
saveImage(b, b.Name()+".png", img)
|
||||||
b.Error(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
// Check for a reference image and make sure it is identical.
|
||||||
if !verifyRef(t, img, 0) {
|
if !verifyRef(t, img, 0) {
|
||||||
name := fmt.Sprintf("%s-%d-bad.png", t.Name(), i)
|
name := fmt.Sprintf("%s-%d-bad.png", t.Name(), i)
|
||||||
if err := saveImage(name, img); err != nil {
|
saveImage(t, name, img)
|
||||||
t.Error(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
c(result{t: t, img: 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 {
|
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 {
|
if frames[i].c != nil {
|
||||||
frames[i].c(result{t: t, img: img})
|
frames[i].c(result{t: t, img: img})
|
||||||
}
|
}
|
||||||
if *dumpImages || !ok {
|
if !ok {
|
||||||
name := t.Name() + ".png"
|
name := t.Name() + ".png"
|
||||||
if i != 0 {
|
if i != 0 {
|
||||||
name = t.Name() + "_" + strconv.Itoa(i) + ".png"
|
name = t.Name() + "_" + strconv.Itoa(i) + ".png"
|
||||||
}
|
}
|
||||||
if err := saveImage(name, img); err != nil {
|
saveImage(t, name, img)
|
||||||
t.Error(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,7 +247,10 @@ type result struct {
|
|||||||
img *image.RGBA
|
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.
|
// Only NRGBA images are losslessly encoded by png.Encode.
|
||||||
nrgba := image.NewNRGBA(img.Bounds())
|
nrgba := image.NewNRGBA(img.Bounds())
|
||||||
bnd := img.Bounds()
|
bnd := img.Bounds()
|
||||||
@@ -268,9 +261,13 @@ func saveImage(file string, img *image.RGBA) error {
|
|||||||
}
|
}
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
if err := png.Encode(&buf, nrgba); err != nil {
|
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 {
|
func newWindow(t testing.TB, width, height int) *headless.Window {
|
||||||
|
|||||||
Reference in New Issue
Block a user