move from test init()s to TestMain

This commit is contained in:
sentriz
2020-05-03 04:42:29 +01:00
parent 9e4d924fd5
commit 9bf80f4b18
3 changed files with 35 additions and 29 deletions

View File

@@ -6,6 +6,7 @@ import (
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"net/url" "net/url"
"os"
"path" "path"
"regexp" "regexp"
"strings" "strings"
@@ -25,16 +26,6 @@ var (
testController *Controller testController *Controller
) )
func init() {
db, err := db.New(testDBPath)
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
testController = &Controller{
Controller: &ctrlbase.Controller{DB: db},
}
}
type queryCase struct { type queryCase struct {
params url.Values params url.Values
expectPath string expectPath string
@@ -86,3 +77,14 @@ func runQueryCases(t *testing.T, h handlerSubsonic, cases []*queryCase) {
}) })
} }
} }
func TestMain(m *testing.M) {
db, err := db.New(testDBPath)
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
testController = &Controller{
Controller: &ctrlbase.Controller{DB: db},
}
os.Exit(m.Run())
}

View File

@@ -3,6 +3,7 @@ package db
import ( import (
"log" "log"
"math/rand" "math/rand"
"os"
"testing" "testing"
_ "github.com/jinzhu/gorm/dialects/sqlite" _ "github.com/jinzhu/gorm/dialects/sqlite"
@@ -10,14 +11,6 @@ import (
var testDB *DB var testDB *DB
func init() {
var err error
testDB, err = NewMock()
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
}
func randKey() string { func randKey() string {
letters := []rune("abcdef0123456789") letters := []rune("abcdef0123456789")
b := make([]rune, 16) b := make([]rune, 16)
@@ -44,3 +37,12 @@ func TestGetSetting(t *testing.T) {
t.Errorf("expected %q, got %q", expected, actual) t.Errorf("expected %q, got %q", expected, actual)
} }
} }
func TestMain(m *testing.M) {
var err error
testDB, err = NewMock()
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
os.Exit(m.Run())
}

View File

@@ -3,6 +3,7 @@ package scanner
import ( import (
"io/ioutil" "io/ioutil"
"log" "log"
"os"
"testing" "testing"
_ "github.com/jinzhu/gorm/dialects/sqlite" _ "github.com/jinzhu/gorm/dialects/sqlite"
@@ -12,17 +13,6 @@ import (
var testScanner *Scanner var testScanner *Scanner
func init() {
db, err := db.NewMock()
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
// benchmarks aren't real code are they? >:)
// here is an absolute path to my music directory
testScanner = New("/home/senan/music", db)
log.SetOutput(ioutil.Discard)
}
func resetTables(db *db.DB) { func resetTables(db *db.DB) {
tx := db.Begin() tx := db.Begin()
defer tx.Commit() defer tx.Commit()
@@ -54,6 +44,18 @@ func BenchmarkScanIncremental(b *testing.B) {
} }
} }
func TestMain(m *testing.M) {
db, err := db.NewMock()
if err != nil {
log.Fatalf("error opening database: %v\n", err)
}
// benchmarks aren't real code are they? >:)
// here is an absolute path to my music directory
testScanner = New("/home/senan/music", db)
log.SetOutput(ioutil.Discard)
os.Exit(m.Run())
}
// RESULTS fresh // RESULTS fresh
// 20 times / 1.436 // 20 times / 1.436
// 20 times / 1.39 // 20 times / 1.39