| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package xorm
- import (
- "errors"
- "flag"
- "os"
- "testing"
- _ "github.com/mattn/go-sqlite3"
- )
- var (
- testEngine *Engine
- dbType string
- connStr string
- )
- func prepareSqlite3Engine() error {
- //if testEngine == nil {
- os.Remove("./test.db")
- var err error
- testEngine, err = NewEngine("sqlite3", "./test.db")
- if err != nil {
- return err
- }
- testEngine.ShowSQL(*showSQL)
- //}
- return nil
- }
- func prepareMysqlEngine() error {
- if testEngine == nil {
- var err error
- testEngine, err = NewEngine("mysql", connStr)
- if err != nil {
- return err
- }
- testEngine.ShowSQL(*showSQL)
- _, err = testEngine.Exec("DROP DATABASE")
- if err != nil {
- return err
- }
- }
- return nil
- }
- func prepareEngine() error {
- if dbType == "sqlite" {
- return prepareSqlite3Engine()
- } else if dbType == "mysql" {
- return prepareMysqlEngine()
- }
- return errors.New("Unknown test database driver")
- }
- var (
- db = flag.String("db", "sqlite", "the tested database")
- showSQL = flag.Bool("show_sql", true, "show generated SQLs")
- )
- func TestMain(m *testing.M) {
- flag.Parse()
- if db != nil {
- dbType = *db
- }
- if err := prepareEngine(); err != nil {
- panic(err)
- }
- os.Exit(m.Run())
- }
- func TestPing(t *testing.T) {
- if err := testEngine.Ping(); err != nil {
- t.Fatal(err)
- }
- }
|