Skip to content

Commit 7ed900a

Browse files
committed
fix test
1 parent b9e7e69 commit 7ed900a

File tree

3 files changed

+72
-61
lines changed

3 files changed

+72
-61
lines changed

sqlite3_test.go

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,66 +1184,6 @@ func TestFunctionRegistration(t *testing.T) {
11841184
}
11851185
}
11861186

1187-
type sumAggregator int64
1188-
1189-
func (s *sumAggregator) Step(x int64) {
1190-
*s += sumAggregator(x)
1191-
}
1192-
1193-
func (s *sumAggregator) Done() int64 {
1194-
return int64(*s)
1195-
}
1196-
1197-
func TestAggregatorRegistration(t *testing.T) {
1198-
customSum := func() *sumAggregator {
1199-
var ret sumAggregator
1200-
return &ret
1201-
}
1202-
1203-
sql.Register("sqlite3_AggregatorRegistration", &SQLiteDriver{
1204-
ConnectHook: func(conn *SQLiteConn) error {
1205-
if err := conn.RegisterAggregator("customSum", customSum, true); err != nil {
1206-
return err
1207-
}
1208-
return nil
1209-
},
1210-
})
1211-
db, err := sql.Open("sqlite3_AggregatorRegistration", ":memory:")
1212-
if err != nil {
1213-
t.Fatal("Failed to open database:", err)
1214-
}
1215-
defer db.Close()
1216-
1217-
_, err = db.Exec("create table foo (department integer, profits integer)")
1218-
if err != nil {
1219-
// trace feature is not implemented
1220-
t.Skip("Failed to create table:", err)
1221-
}
1222-
1223-
_, err = db.Exec("insert into foo values (1, 10), (1, 20), (2, 42)")
1224-
if err != nil {
1225-
t.Fatal("Failed to insert records:", err)
1226-
}
1227-
1228-
tests := []struct {
1229-
dept, sum int64
1230-
}{
1231-
{1, 30},
1232-
{2, 42},
1233-
}
1234-
1235-
for _, test := range tests {
1236-
var ret int64
1237-
err = db.QueryRow("select customSum(profits) from foo where department = $1 group by department", test.dept).Scan(&ret)
1238-
if err != nil {
1239-
t.Fatal("Query failed:", err)
1240-
}
1241-
if ret != test.sum {
1242-
t.Fatalf("Custom sum returned wrong value, got %d, want %d", ret, test.sum)
1243-
}
1244-
}
1245-
}
1246-
12471187
func TestDeclTypes(t *testing.T) {
12481188

12491189
d := SQLiteDriver{}

sqlite3_trace_test.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Copyright (C) 2016 Yasuhiro Matsumoto <[email protected]>.
2+
//
3+
// Use of this source code is governed by an MIT-style
4+
// license that can be found in the LICENSE file.
5+
// +build trace
6+
7+
package sqlite3
8+
9+
import (
10+
"database/sql"
11+
"testing"
12+
)
13+
14+
type sumAggregator int64
15+
16+
func (s *sumAggregator) Step(x int64) {
17+
*s += sumAggregator(x)
18+
}
19+
20+
func (s *sumAggregator) Done() int64 {
21+
return int64(*s)
22+
}
23+
24+
func TestAggregatorRegistration(t *testing.T) {
25+
customSum := func() *sumAggregator {
26+
var ret sumAggregator
27+
return &ret
28+
}
29+
30+
sql.Register("sqlite3_AggregatorRegistration", &SQLiteDriver{
31+
ConnectHook: func(conn *SQLiteConn) error {
32+
if err := conn.RegisterAggregator("customSum", customSum, true); err != nil {
33+
return err
34+
}
35+
return nil
36+
},
37+
})
38+
db, err := sql.Open("sqlite3_AggregatorRegistration", ":memory:")
39+
if err != nil {
40+
t.Fatal("Failed to open database:", err)
41+
}
42+
defer db.Close()
43+
44+
_, err = db.Exec("create table foo (department integer, profits integer)")
45+
if err != nil {
46+
// trace feature is not implemented
47+
t.Skip("Failed to create table:", err)
48+
}
49+
50+
_, err = db.Exec("insert into foo values (1, 10), (1, 20), (2, 42)")
51+
if err != nil {
52+
t.Fatal("Failed to insert records:", err)
53+
}
54+
55+
tests := []struct {
56+
dept, sum int64
57+
}{
58+
{1, 30},
59+
{2, 42},
60+
}
61+
62+
for _, test := range tests {
63+
var ret int64
64+
err = db.QueryRow("select customSum(profits) from foo where department = $1 group by department", test.dept).Scan(&ret)
65+
if err != nil {
66+
t.Fatal("Query failed:", err)
67+
}
68+
if ret != test.sum {
69+
t.Fatalf("Custom sum returned wrong value, got %d, want %d", ret, test.sum)
70+
}
71+
}
72+
}

tracecallback.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// Copyright (C) 2016 Yasuhiro Matsumoto <[email protected]>.
2-
// TODO: add "Gimpl do foo" team?
32
//
43
// Use of this source code is governed by an MIT-style
54
// license that can be found in the LICENSE file.

0 commit comments

Comments
 (0)