internal/rendertest: tolerate lack of headless suppport

Fixes the builders.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-06-22 17:28:12 +02:00
parent 59f07023d4
commit b664d68a7c
2 changed files with 13 additions and 15 deletions
+1 -4
View File
@@ -25,10 +25,7 @@ var (
func setupBenchmark(b *testing.B) (layout.Context, *headless.Window, *material.Theme) {
sz := image.Point{X: 1024, Y: 1200}
w, err := headless.NewWindow(sz.X, sz.Y)
if err != nil {
b.Error(err)
}
w := newWindow(b, sz.X, sz.Y)
ops := new(op.Ops)
gtx := layout.Context{
Ops: ops,
+12 -11
View File
@@ -39,12 +39,9 @@ func init() {
squares = paint.NewImageOp(im)
}
func drawImage(size int, ops *op.Ops, draw func(o *op.Ops)) (im *image.RGBA, err error) {
func drawImage(t *testing.T, size int, ops *op.Ops, draw func(o *op.Ops)) (im *image.RGBA, err error) {
sz := image.Point{X: size, Y: size}
w, err := headless.NewWindow(sz.X, sz.Y)
if err != nil {
return im, err
}
w := newWindow(t, sz.X, sz.Y)
draw(ops)
w.Frame(ops)
return w.Screenshot()
@@ -59,7 +56,7 @@ func run(t *testing.T, f func(o *op.Ops), c func(r result)) {
ops := new(op.Ops)
for i := 0; i < 3; i++ {
ops.Reset()
img, err = drawImage(128, ops, f)
img, err = drawImage(t, 128, ops, f)
if err != nil {
t.Error("error rendering:", err)
return
@@ -93,11 +90,7 @@ func multiRun(t *testing.T, frames ...frameT) {
var img *image.RGBA
var err error
sz := image.Point{X: 128, Y: 128}
w, err := headless.NewWindow(sz.X, sz.Y)
if err != nil {
t.Error("error creating window:", err)
t.FailNow()
}
w := newWindow(t, sz.X, sz.Y)
ops := new(op.Ops)
for i := range frames {
ops.Reset()
@@ -198,3 +191,11 @@ func saveImage(file string, img image.Image) error {
}
return ioutil.WriteFile(file, buf.Bytes(), 0666)
}
func newWindow(t testing.TB, width, height int) *headless.Window {
w, err := headless.NewWindow(width, height)
if err != nil {
t.Skipf("failed to create headless window, skipping: %v", err)
}
return w
}