cmd/gogio: support running e2e with and without -race

Right now, we can only run the e2e gio app with -race, not without
-race, because the flag is hard-coded in the tests.

The reason for this change was that 'GOFLAGS=-race go test' would fail
with the JS test, since js/wasm doesn't support the race detector. Fix
that by skipping the JS test when -race is used.

Now, we can run multiple levels of -race:

	go test               # no -race at all
	go test -race         # -race for the tests, not the e2e gio app
	GOFLAGS=-race go test # -race for everything (best-effort)

To detect the race detector being on, we use a file with a build tag.

Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
This commit is contained in:
Daniel Martí
2019-11-03 12:00:35 +00:00
committed by Elias Naur
parent cc4b407647
commit 2a4829d857
5 changed files with 15 additions and 2 deletions
+4
View File
@@ -33,6 +33,10 @@ type JSTestDriver struct {
func (d *JSTestDriver) Start(t_ *testing.T, path string, width, height int) (cleanups []func()) {
d.t = t_
if raceEnabled {
d.t.Skipf("js/wasm doesn't support -race; skipping")
}
// First, build the app.
dir, err := ioutil.TempDir("", "gio-endtoend-js")
if err != nil {