aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/benchmarks/exec.go29
-rw-r--r--tests/benchmarks/query.go40
-rw-r--r--tests/fuzz/api.go6
3 files changed, 72 insertions, 3 deletions
diff --git a/tests/benchmarks/exec.go b/tests/benchmarks/exec.go
new file mode 100644
index 0000000..11e4133
--- /dev/null
+++ b/tests/benchmarks/exec.go
@@ -0,0 +1,29 @@
+package main
+
+import (
+ "database/sql"
+ "flag"
+
+ _ "golite"
+)
+
+
+
+var nFlag = flag.Int("n", 1_000_000, "The number of iterations to execute")
+
+func main() {
+ flag.Parse()
+ n := *nFlag
+
+ db, err := sql.Open("sqlite3", "file:bench.db?mode=memory&cache=shared")
+ if err != nil {
+ panic(err)
+ }
+
+ for i := 0; i < n; i++ {
+ _, err = db.Exec("SELECT 1;")
+ if err != nil {
+ panic(err)
+ }
+ }
+}
diff --git a/tests/benchmarks/query.go b/tests/benchmarks/query.go
new file mode 100644
index 0000000..b56e186
--- /dev/null
+++ b/tests/benchmarks/query.go
@@ -0,0 +1,40 @@
+package main
+
+import (
+ "database/sql"
+ "flag"
+
+ _ "golite"
+)
+
+
+
+var nFlag = flag.Int("n", 100_000, "The number of iterations to execute")
+
+func main() {
+ flag.Parse()
+ n := *nFlag
+
+ db, err := sql.Open("sqlite3", "file:benchdb?mode=memory&cache=shared")
+ if err != nil {
+ panic(err)
+ }
+
+ var (
+ S sql.NullString
+ I int
+ f float64
+ s string
+ )
+ for i := 0; i < n; i++ {
+ err = db.QueryRow("SELECT NULL, 1, 1.1, 'string';").Scan(
+ &S,
+ &I,
+ &f,
+ &s,
+ )
+ if err != nil {
+ panic(err)
+ }
+ }
+}
diff --git a/tests/fuzz/api.go b/tests/fuzz/api.go
index 50a19d2..0d6db03 100644
--- a/tests/fuzz/api.go
+++ b/tests/fuzz/api.go
@@ -26,9 +26,9 @@ func main() {
}
deps := testdeps.TestDeps{}
- tests := []testing.InternalTest {}
- benchmarks := []testing.InternalBenchmark{}
- examples := []testing.InternalExample {}
+ tests := []testing.InternalTest {}
+ benchmarks := []testing.InternalBenchmark{}
+ examples := []testing.InternalExample {}
m := testing.MainStart(deps, tests, benchmarks, fuzzTargets, examples)
os.Exit(m.Run())
}