Fix compiling without sqlite and gcc (#2177)

This commit is contained in:
Lauris BH 2017-07-26 10:27:30 +03:00 committed by Lunny Xiao
parent 41cc110e62
commit 1d032f5220
2 changed files with 19 additions and 18 deletions

View file

@ -8,7 +8,11 @@ import (
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3" // for the test engine
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"gopkg.in/testfixtures.v2"
) )
// TestFixturesAreConsistent assert that test fixtures are consistent // TestFixturesAreConsistent assert that test fixtures are consistent
@ -17,6 +21,21 @@ func TestFixturesAreConsistent(t *testing.T) {
CheckConsistencyForAll(t) CheckConsistencyForAll(t)
} }
// CreateTestEngine create an xorm engine for testing
func CreateTestEngine() error {
var err error
x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
if err != nil {
return err
}
x.SetMapper(core.GonicMapper{})
if err = x.StoreEngine("InnoDB").Sync2(tables...); err != nil {
return err
}
return InitFixtures(&testfixtures.SQLite{}, "fixtures/")
}
func TestMain(m *testing.M) { func TestMain(m *testing.M) {
if err := CreateTestEngine(); err != nil { if err := CreateTestEngine(); err != nil {
fmt.Printf("Error creating test engine: %v\n", err) fmt.Printf("Error creating test engine: %v\n", err)

View file

@ -7,31 +7,13 @@ package models
import ( import (
"testing" "testing"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm" "github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3" // for the test engine
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"gopkg.in/testfixtures.v2"
) )
// NonexistentID an ID that will never exist // NonexistentID an ID that will never exist
const NonexistentID = 9223372036854775807 const NonexistentID = 9223372036854775807
// CreateTestEngine create an xorm engine for testing
func CreateTestEngine() error {
var err error
x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
if err != nil {
return err
}
x.SetMapper(core.GonicMapper{})
if err = x.StoreEngine("InnoDB").Sync2(tables...); err != nil {
return err
}
return InitFixtures(&testfixtures.SQLite{}, "fixtures/")
}
// PrepareTestDatabase load test fixtures into test database // PrepareTestDatabase load test fixtures into test database
func PrepareTestDatabase() error { func PrepareTestDatabase() error {
return LoadFixtures() return LoadFixtures()