Skip to content

Commit d1d2866

Browse files
ankur22cursoragent
andauthored
Fix browser connection goroutine leaks in tests (#5647)
TestBrowserTypeConnect and TestMultiConnectToSingleBrowser create browser connections via bt.Connect() but never close them. Since both contexts are context.Background(), the child goroutines (Connection, Session, BaseEventEmitter.syncAll, etc.) live forever. Add t.Cleanup(b.Close) to ensure browsers created via Connect are properly closed when the test finishes. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 9710d36 commit d1d2866

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

internal/js/modules/k6/browser/tests/browser_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,13 +329,15 @@ func TestMultiConnectToSingleBrowser(t *testing.T) {
329329

330330
b1, err := tb.browserType.Connect(context.Background(), ctx, tb.wsURL)
331331
require.NoError(t, err)
332+
t.Cleanup(b1.Close)
332333
bctx1, err := b1.NewContext(nil)
333334
require.NoError(t, err)
334335
p1, err := bctx1.NewPage()
335336
require.NoError(t, err, "failed to create page #1")
336337

337338
b2, err := tb.browserType.Connect(context.Background(), ctx, tb.wsURL)
338339
require.NoError(t, err)
340+
t.Cleanup(b2.Close)
339341
bctx2, err := b2.NewContext(nil)
340342
require.NoError(t, err)
341343

internal/js/modules/k6/browser/tests/browser_type_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ func TestBrowserTypeConnect(t *testing.T) {
2424

2525
b, err := bt.Connect(context.Background(), context.Background(), tb.wsURL)
2626
require.NoError(t, err)
27+
t.Cleanup(b.Close)
2728
_, err = b.NewPage(nil)
2829
require.NoError(t, err)
2930
}

0 commit comments

Comments
 (0)