cmd/gogio: add the first end-to-end X11 test

Right now it's very similar to the JS test on Chrome. Like it, this one
just runs the "red.go" gio app, takes a screenshot, and expects to see
red.

It also supports the -headless flag; when true, Xvfb is used and it's
entirely headless and hidden. Otherwise, Xephyr is used and once can see
the test in action. If the tool isn't installed, the test is skipped.

We need to add xgb as a dependency, so that we can connect to the X
server and interact with it, like taking screenshots.

Finally, this is an initial version, and a number of TODOs are left for
a later time. They'll get fixed in follow-up patches.

While at it, start making all tests parallel, since the end-to-end tests
take about a second each and neither are very cpu-intensive.

Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
This commit is contained in:
Daniel Martí
2019-10-29 17:28:06 +00:00
committed by Elias Naur
parent b8edf2ee04
commit cea8dc374b
5 changed files with 178 additions and 10 deletions
+4
View File
@@ -4,6 +4,10 @@ go 1.13
require (
gioui.org v0.0.0-20191029130630-4641607cd6a4
github.com/BurntSushi/freetype-go v0.0.0-20160129220410-b763ddbfe298 // indirect
github.com/BurntSushi/graphics-go v0.0.0-20160129215708-b43f31a4a966 // indirect
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802
github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046
github.com/chromedp/cdproto v0.0.0-20191009033829-c22f49c9ff0a
github.com/chromedp/chromedp v0.5.1
golang.org/x/image v0.0.0-20190802002840-cff245a6509b