mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
internal/rendertest: tolerate lack of headless suppport
Fixes the builders. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user