From f65452a23dce8eec5a5d841530ff0e13adc98a0d Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 29 Jul 2026 10:04:39 +0900 Subject: [PATCH] Use unique driver name in leak test --- sqlite3_opt_vtable_leak_test.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sqlite3_opt_vtable_leak_test.go b/sqlite3_opt_vtable_leak_test.go index 3d8b28e..d2b7047 100644 --- a/sqlite3_opt_vtable_leak_test.go +++ b/sqlite3_opt_vtable_leak_test.go @@ -4,16 +4,23 @@ package sqlite3 import ( "database/sql" + "fmt" + "sync/atomic" "testing" ) +var leakCheckDriverSeq int32 + func TestVtabCursorHandleRelease(t *testing.T) { - sql.Register("sqlite3_HandleLeakCheck", &SQLiteDriver{ + // Use a unique driver name so repeated runs (e.g. -count=2) do not + // panic on duplicate registration. + driverName := fmt.Sprintf("sqlite3_HandleLeakCheck_%d", atomic.AddInt32(&leakCheckDriverSeq, 1)) + sql.Register(driverName, &SQLiteDriver{ ConnectHook: func(conn *SQLiteConn) error { return conn.CreateModule("test", &testModule{t: t, intarray: []int{1, 2, 3}}) }, }) - db, err := sql.Open("sqlite3_HandleLeakCheck", ":memory:") + db, err := sql.Open(driverName, ":memory:") if err != nil { t.Fatal(err) }