Use unique driver name in leak test
This commit is contained in:
@@ -4,16 +4,23 @@ package sqlite3
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"fmt"
|
||||||
|
"sync/atomic"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var leakCheckDriverSeq int32
|
||||||
|
|
||||||
func TestVtabCursorHandleRelease(t *testing.T) {
|
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 {
|
ConnectHook: func(conn *SQLiteConn) error {
|
||||||
return conn.CreateModule("test", &testModule{t: t, intarray: []int{1, 2, 3}})
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user