mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
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:
@@ -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"),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user