aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2017-01-19 02:20:24 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2017-01-19 02:20:42 +0900
commit7ed900a7c4cc22315a007cc49821cce3baa7be0f (patch)
tree3ad2adc8f576a0e164bb0de7036f47e245eb5f91
parentMerge pull request #375 from markbates/master (diff)
downloadgolite-7ed900a7c4cc22315a007cc49821cce3baa7be0f.tar.gz
golite-7ed900a7c4cc22315a007cc49821cce3baa7be0f.tar.xz
fix test
-rw-r--r--sqlite3_test.go60
-rw-r--r--sqlite3_trace_test.go72
-rw-r--r--tracecallback.go1
3 files changed, 72 insertions, 61 deletions
diff --git a/sqlite3_test.go b/sqlite3_test.go
index eb9d18e..8efb409 100644
--- a/sqlite3_test.go
+++ b/sqlite3_test.go
@@ -1184,66 +1184,6 @@ func TestFunctionRegistration(t *testing.T) {
}
}
-type sumAggregator int64
-
-func (s *sumAggregator) Step(x int64) {
- *s += sumAggregator(x)
-}
-
-func (s *sumAggregator) Done() int64 {
- return int64(*s)
-}
-
-func TestAggregatorRegistration(t *testing.T) {
- customSum := func() *sumAggregator {
- var ret sumAggregator
- return &ret
- }
-
- sql.Register("sqlite3_AggregatorRegistration", &SQLiteDriver{
- ConnectHook: func(conn *SQLiteConn) error {
- if err := conn.RegisterAggregator("customSum", customSum, true); err != nil {
- return err
- }
- return nil
- },
- })
- db, err := sql.Open("sqlite3_AggregatorRegistration", ":memory:")
- if err != nil {
- t.Fatal("Failed to open database:", err)
- }
- defer db.Close()
-
- _, err = db.Exec("create table foo (department integer, profits integer)")
- if err != nil {
- // trace feature is not implemented
- t.Skip("Failed to create table:", err)
- }
-
- _, err = db.Exec("insert into foo values (1, 10), (1, 20), (2, 42)")
- if err != nil {
- t.Fatal("Failed to insert records:", err)
- }
-
- tests := []struct {
- dept, sum int64
- }{
- {1, 30},
- {2, 42},
- }
-
- for _, test := range tests {
- var ret int64
- err = db.QueryRow("select customSum(profits) from foo where department = $1 group by department", test.dept).Scan(&ret)
- if err != nil {
- t.Fatal("Query failed:", err)
- }
- if ret != test.sum {
- t.Fatalf("Custom sum returned wrong value, got %d, want %d", ret, test.sum)
- }
- }
-}
-
func TestDeclTypes(t *testing.T) {
d := SQLiteDriver{}
diff --git a/sqlite3_trace_test.go b/sqlite3_trace_test.go
new file mode 100644
index 0000000..57a6757
--- /dev/null
+++ b/sqlite3_trace_test.go
@@ -0,0 +1,72 @@
+// Copyright (C) 2016 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+// +build trace
+
+package sqlite3
+
+import (
+ "database/sql"
+ "testing"
+)
+
+type sumAggregator int64
+
+func (s *sumAggregator) Step(x int64) {
+ *s += sumAggregator(x)
+}
+
+func (s *sumAggregator) Done() int64 {
+ return int64(*s)
+}
+
+func TestAggregatorRegistration(t *testing.T) {
+ customSum := func() *sumAggregator {
+ var ret sumAggregator
+ return &ret
+ }
+
+ sql.Register("sqlite3_AggregatorRegistration", &SQLiteDriver{
+ ConnectHook: func(conn *SQLiteConn) error {
+ if err := conn.RegisterAggregator("customSum", customSum, true); err != nil {
+ return err
+ }
+ return nil
+ },
+ })
+ db, err := sql.Open("sqlite3_AggregatorRegistration", ":memory:")
+ if err != nil {
+ t.Fatal("Failed to open database:", err)
+ }
+ defer db.Close()
+
+ _, err = db.Exec("create table foo (department integer, profits integer)")
+ if err != nil {
+ // trace feature is not implemented
+ t.Skip("Failed to create table:", err)
+ }
+
+ _, err = db.Exec("insert into foo values (1, 10), (1, 20), (2, 42)")
+ if err != nil {
+ t.Fatal("Failed to insert records:", err)
+ }
+
+ tests := []struct {
+ dept, sum int64
+ }{
+ {1, 30},
+ {2, 42},
+ }
+
+ for _, test := range tests {
+ var ret int64
+ err = db.QueryRow("select customSum(profits) from foo where department = $1 group by department", test.dept).Scan(&ret)
+ if err != nil {
+ t.Fatal("Query failed:", err)
+ }
+ if ret != test.sum {
+ t.Fatalf("Custom sum returned wrong value, got %d, want %d", ret, test.sum)
+ }
+ }
+}
diff --git a/tracecallback.go b/tracecallback.go
index 93688d4..de1d504 100644
--- a/tracecallback.go
+++ b/tracecallback.go
@@ -1,5 +1,4 @@
// Copyright (C) 2016 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
-// TODO: add "Gimpl do foo" team?
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.