wasmtest: fix resource cleanup and add logging

The chromedp context was not cancelled, so resources may have been leaking.
Additionally this waits for the browser to start before the timer starts, and extends the timeout to 20 seconds.
Logging from chromedp has also been enabled, which may help identify possible issues?
This commit is contained in:
Nia Waldvogel
2022-01-18 12:17:43 -05:00
committed by Ron Evans
parent 2c7ea98ccf
commit 7c3a22d289
6 changed files with 17 additions and 17 deletions
+1 -2
View File
@@ -15,8 +15,7 @@ func TestChan(t *testing.T) {
t.Fatal(err)
}
ctx, cancel := chromectx()
defer cancel()
ctx := chromectx(t)
err = chromedp.Run(ctx,
chromedp.Navigate(server.URL+"/run?file=chan.wasm"),
+1 -2
View File
@@ -15,8 +15,7 @@ func TestEvent(t *testing.T) {
t.Fatal(err)
}
ctx, cancel := chromectx()
defer cancel()
ctx := chromectx(t)
var log1, log2 string
err = chromedp.Run(ctx,
+1 -2
View File
@@ -15,8 +15,7 @@ func TestFmt(t *testing.T) {
t.Fatal(err)
}
ctx, cancel := chromectx()
defer cancel()
ctx := chromectx(t)
var log1 string
err = chromedp.Run(ctx,
+1 -2
View File
@@ -15,8 +15,7 @@ func TestFmtprint(t *testing.T) {
t.Fatal(err)
}
ctx, cancel := chromectx()
defer cancel()
ctx := chromectx(t)
var log1 string
err = chromedp.Run(ctx,
+1 -2
View File
@@ -15,8 +15,7 @@ func TestLog(t *testing.T) {
t.Fatal(err)
}
ctx, cancel := chromectx()
defer cancel()
ctx := chromectx(t)
var log1 string
err = chromedp.Run(ctx,
+12 -7
View File
@@ -32,16 +32,21 @@ func runargs(t *testing.T, args ...string) error {
return nil
}
func chromectx() (context.Context, context.CancelFunc) {
var ctx context.Context
func chromectx(t *testing.T) context.Context {
// looks for locally installed Chrome
ctx, _ = chromedp.NewContext(context.Background())
ctx, ccancel := chromedp.NewContext(context.Background(), chromedp.WithErrorf(t.Errorf), chromedp.WithDebugf(t.Logf), chromedp.WithLogf(t.Logf))
t.Cleanup(ccancel)
ctx, cancel := context.WithTimeout(ctx, 10*time.Second)
// Wait for browser to be ready.
err := chromedp.Run(ctx)
if err != nil {
t.Fatalf("failed to start browser: %s", err.Error())
}
return ctx, cancel
ctx, tcancel := context.WithTimeout(ctx, 30*time.Second)
t.Cleanup(tcancel)
return ctx
}
func startServer(t *testing.T) (string, *httptest.Server) {