diff --git a/server/ctrlsubsonic/ctrl_test.go b/server/ctrlsubsonic/ctrl_test.go index edb29e2..4748c0c 100644 --- a/server/ctrlsubsonic/ctrl_test.go +++ b/server/ctrlsubsonic/ctrl_test.go @@ -6,6 +6,7 @@ import ( "net/http" "net/http/httptest" "net/url" + "os" "path" "regexp" "strings" @@ -25,16 +26,6 @@ var ( 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 { params url.Values 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()) +} diff --git a/server/db/db_test.go b/server/db/db_test.go index d2c4262..8dd4a42 100644 --- a/server/db/db_test.go +++ b/server/db/db_test.go @@ -3,6 +3,7 @@ package db import ( "log" "math/rand" + "os" "testing" _ "github.com/jinzhu/gorm/dialects/sqlite" @@ -10,14 +11,6 @@ import ( 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 { letters := []rune("abcdef0123456789") b := make([]rune, 16) @@ -44,3 +37,12 @@ func TestGetSetting(t *testing.T) { 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()) +} diff --git a/server/scanner/scanner_test.go b/server/scanner/scanner_test.go index 24708d4..c7c7ad3 100644 --- a/server/scanner/scanner_test.go +++ b/server/scanner/scanner_test.go @@ -3,6 +3,7 @@ package scanner import ( "io/ioutil" "log" + "os" "testing" _ "github.com/jinzhu/gorm/dialects/sqlite" @@ -12,17 +13,6 @@ import ( 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) { tx := db.Begin() 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 // 20 times / 1.436 // 20 times / 1.39