Skip to content

Commit

Permalink
sqlite3_test.go: Move Go 1.13 test to sqlite3_go113_test.go (#883)
Browse files Browse the repository at this point in the history
Commit 4f7abea added a test that uses Conn.Raw, which was added in
Go >= 1.13. The go-sqlite3 project runs tests with Go >= 1.11. Remove
the test from sqlite3_test.go, so it only runs with the correct
versions of Go.

Instead of adding a new test, modify the existing test that already
uses Conn.Raw() to check the type of driverConn.
  • Loading branch information
evanj committed Nov 16, 2020
1 parent 4f7abea commit 70c7709
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 31 deletions.
2 changes: 1 addition & 1 deletion doc.go
Expand Up @@ -90,7 +90,7 @@ ConnectHook to get the SQLiteConn.
},
})
You can also use database/sql.Conn.Raw:
You can also use database/sql.Conn.Raw (Go >= 1.13):
conn, err := db.Conn(context.Background())
// if err != nil { ... }
Expand Down
4 changes: 4 additions & 0 deletions sqlite3_go113_test.go
Expand Up @@ -49,6 +49,10 @@ func TestBeginTxCancel(t *testing.T) {
if !ok {
t.Fatal("unexpected: wrong type")
}
// checks that conn.Raw can be used to get *SQLiteConn
if _, ok = driverConn.(*SQLiteConn); !ok {
t.Fatalf("conn.Raw() driverConn type=%T, expected *SQLiteConn", driverConn)
}

go cancel() // make it cancel concurrently with exec("BEGIN");
tx, err := d.BeginTx(ctx, driver.TxOptions{})
Expand Down
30 changes: 0 additions & 30 deletions sqlite3_test.go
Expand Up @@ -9,7 +9,6 @@ package sqlite3

import (
"bytes"
"context"
"database/sql"
"database/sql/driver"
"errors"
Expand Down Expand Up @@ -2353,32 +2352,3 @@ func benchmarkStmtRows(b *testing.B) {
}
}
}

func TestConnRawIsSQLiteConn(t *testing.T) {
db, err := sql.Open("sqlite3", ":memory:")
if err != nil {
t.Fatal("Failed to open db:", err)
}
defer db.Close()

conn, err := db.Conn(context.Background())
if err != nil {
t.Fatal("Failed to get conn:", err)
}
defer conn.Close()
err = conn.Raw(func(driverConn interface{}) error {
sqliteConn, ok := driverConn.(*SQLiteConn)
if !ok {
t.Errorf("driverConn type=%T; expected to be *SQLiteConn", driverConn)
return nil
}
// call a private SQLite API to confirm the raw conn "works"
if sqliteConn.AuthEnabled() {
t.Error("sqliteConn.AuthEnabled()=true; expected false")
}
return nil
})
if err != nil {
t.Error("conn.Raw() returned err:", err)
}
}

0 comments on commit 70c7709

Please sign in to comment.