Skip to content

Commit 0be3439

Browse files
committed
Updated tests
1 parent 1451496 commit 0be3439

File tree

3 files changed

+35
-22
lines changed

3 files changed

+35
-22
lines changed

sys/sqlite3/connex.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import "C"
5151

5252
import (
5353
"errors"
54+
"io"
5455
"reflect"
5556
"sync"
5657
"time"
@@ -377,10 +378,10 @@ func (c *ConnEx) ExecEx(q string, fn ExecFunc, v ...interface{}) error {
377378
// Result loop
378379
for {
379380
row, err := r.Next(t...)
380-
if err != nil {
381-
return err
382-
} else if row == nil {
381+
if errors.Is(err, io.EOF) || row == nil {
383382
break
383+
} else if err != nil {
384+
return err
384385
} else if fn != nil {
385386
if fn(stringSliceFromInterface(row, v), n) {
386387
// Set abort transaction on next iteration

sys/sqlite3/function_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package sqlite3_test
22

33
import (
4+
"errors"
45
"fmt"
6+
"io"
57
"os"
68
"path/filepath"
79
"testing"
@@ -44,10 +46,10 @@ func Test_Func_001(t *testing.T) {
4446
t.Log(r)
4547
for {
4648
row, err := r.Next()
47-
if err != nil {
48-
t.Error(err)
49+
if errors.Is(err, io.EOF) {
4950
break
50-
} else if row == nil {
51+
} else if err != nil {
52+
t.Error(err)
5153
break
5254
}
5355
t.Log(row)

sys/sqlite3/sqliteex_test.go

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package sqlite3_test
22

33
import (
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

Comments
 (0)