@@ -2,7 +2,9 @@ package sqlite3_test
22
33import (
44 "context"
5+ "errors"
56 "fmt"
7+ "io"
68 "os"
79 "path/filepath"
810 "testing"
@@ -44,10 +46,10 @@ func Test_SQLiteEx_001(t *testing.T) {
4446 }
4547 t .Log (r )
4648 for {
47- if row , err := r .Next (); err != nil {
48- t .Error (err )
49+ if row , err := r .Next (); errors .Is (err , io .EOF ) {
4950 break
50- } else if row == nil {
51+ } else if err != nil {
52+ t .Error (err )
5153 break
5254 } else {
5355 t .Log (row )
@@ -73,9 +75,12 @@ func Test_SQLiteEx_002(t *testing.T) {
7375 defer cancel ()
7476 if err := db .SetProgressHandler (1000 , func () bool {
7577 t .Log ("Long running query..." )
78+ if ctx .Err () != nil {
79+ t .Log (" got err=" , ctx .Err ())
80+ }
7681 return ctx .Err () != nil
7782 }); err != nil {
78- t .Error (err )
83+ t .Fatal (err )
7984 }
8085
8186 // Add busy handler with context timeout
@@ -100,23 +105,28 @@ func Test_SQLiteEx_002(t *testing.T) {
100105 t .Fatal (err )
101106 }
102107 defer st .Close ()
103- r , err := st .Exec (0 , 99999999 )
108+ r , err := st .Exec (0 , int64 ( 99999999 ) )
104109 if err != nil && err != sqlite3 .SQLITE_INTERRUPT {
105110 t .Fatal ("Error returned:" , err )
106- }
107- if r == nil {
111+ } else if err == sqlite3 .SQLITE_INTERRUPT {
112+ t .Log ("Query result interrupted" )
113+ } else if r == nil {
108114 t .Fatal ("Unexpected nil return" )
109115 }
110- t .Log (r )
111- for {
112- row , err := r .Next ()
113- if err != nil {
114- t .Fatal (err )
115- break
116- } else if row == nil {
117- break
116+ if r != nil {
117+ for {
118+ row , err := r .Next ()
119+ if errors .Is (err , io .EOF ) {
120+ break
121+ } else if err != nil {
122+ t .Fatal (err )
123+ break
124+ } else if row == nil {
125+ t .Error ("Unexpected nil return" )
126+ break
127+ }
128+ t .Log (row )
118129 }
119- t .Log (row )
120130 }
121131}
122132
0 commit comments