mirror of
https://github.com/glebarez/go-sqlite.git
synced 2025-10-29 10:12:30 +08:00
BenchmarkReading1: use testing.TB.TempDir()
This commit is contained in:
17
cgo_test.go
17
cgo_test.go
@@ -8,8 +8,8 @@ package sqlite // import "modernc.org/sqlite"
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
@@ -17,17 +17,6 @@ import (
|
|||||||
|
|
||||||
const gcoDriver = "sqlite3"
|
const gcoDriver = "sqlite3"
|
||||||
|
|
||||||
func prepareDatabase() string {
|
|
||||||
//if this fails you should probably clean your folders
|
|
||||||
for i := 0; ; i++ {
|
|
||||||
path := fmt.Sprintf("%dbench.db", i)
|
|
||||||
_, err := os.Stat(path)
|
|
||||||
if os.IsNotExist(err) {
|
|
||||||
return path
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var drivers = []string{
|
var drivers = []string{
|
||||||
driverName,
|
driverName,
|
||||||
gcoDriver,
|
gcoDriver,
|
||||||
@@ -49,6 +38,7 @@ func makename(inMemory bool, driver string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func reading1Memory(b *testing.B, drivername, file string) {
|
func reading1Memory(b *testing.B, drivername, file string) {
|
||||||
|
os.Remove(file)
|
||||||
db, err := sql.Open(drivername, file)
|
db, err := sql.Open(drivername, file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
@@ -105,10 +95,11 @@ func reading1Memory(b *testing.B, drivername, file string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkReading1(b *testing.B) {
|
func BenchmarkReading1(b *testing.B) {
|
||||||
|
dir := b.TempDir()
|
||||||
for _, memory := range inMemory {
|
for _, memory := range inMemory {
|
||||||
filename := "file::memory:"
|
filename := "file::memory:"
|
||||||
if !memory {
|
if !memory {
|
||||||
filename = prepareDatabase()
|
filename = filepath.Join(dir, "test.db")
|
||||||
}
|
}
|
||||||
for _, driver := range drivers {
|
for _, driver := range drivers {
|
||||||
b.Run(makename(memory, driver), func(b *testing.B) {
|
b.Run(makename(memory, driver), func(b *testing.B) {
|
||||||
|
|||||||
Reference in New Issue
Block a user