@@ -16,16 +16,15 @@ import (
16
16
"testing"
17
17
)
18
18
19
- func TestBlobIO ( t * testing. T ) {
20
- db , err := sql .Open ("sqlite3" , "file:testblobio ?mode=memory&cache=shared" )
19
+ func blobTestData ( dbname string , rowid int64 , blob [] byte ) ( * sql. DB , * SQLiteConn , error ) {
20
+ db , err := sql .Open ("sqlite3" , "file:" + dbname + " ?mode=memory&cache=shared" )
21
21
if err != nil {
22
- t . Fatal ( "Fail to open:" , err )
22
+ return nil , nil , err
23
23
}
24
- defer db .Close ()
25
24
26
25
conn , err := db .Conn (context .Background ())
27
26
if err != nil {
28
- t . Fatal ( "Failed to get raw connection:" , err )
27
+ return nil , nil , err
29
28
}
30
29
defer conn .Close ()
31
30
@@ -35,13 +34,8 @@ func TestBlobIO(t *testing.T) {
35
34
return nil
36
35
})
37
36
if err != nil {
38
- t . Fatal ( "Failed to get raw connection:" , err )
37
+ return nil , nil , err
39
38
}
40
- defer driverConn .Close ()
41
-
42
- // Test data
43
- expected := []byte ("I ❤️ SQLite in \x00 \x01 \x02 …" )
44
- rowid := int64 (6581 )
45
39
46
40
query := `
47
41
CREATE TABLE data (
@@ -52,10 +46,24 @@ func TestBlobIO(t *testing.T) {
52
46
VALUES (:rowid, :value);
53
47
`
54
48
55
- _ , err = db .Exec (query , sql .Named ("rowid" , rowid ), sql .Named ("value" , expected ))
49
+ _ , err = db .Exec (query , sql .Named ("rowid" , rowid ), sql .Named ("value" , blob ))
50
+ if err != nil {
51
+ return nil , nil , err
52
+ }
53
+
54
+ return db , driverConn , nil
55
+ }
56
+
57
+ func TestBlobIO (t * testing.T ) {
58
+ rowid := int64 (6581 )
59
+ expected := []byte ("I ❤️ SQLite in \x00 \x01 \x02 …" )
60
+
61
+ db , driverConn , err := blobTestData ("testblobio" , rowid , expected )
56
62
if err != nil {
57
- t .Fatal ("Failed to execute " , err )
63
+ t .Fatal ("Failed to get raw connection: " , err )
58
64
}
65
+ defer driverConn .Close ()
66
+ defer db .Close ()
59
67
60
68
// Open blob
61
69
blob , err := driverConn .Blob ("main" , "data" , "value" , rowid , 0 )
0 commit comments