add tests for tidb
This commit is contained in:
parent
52b85c2f7e
commit
ee9ba59779
|
@ -28,6 +28,8 @@ jobs:
|
||||||
SA_PASSWORD: yourStrong(!)Password
|
SA_PASSWORD: yourStrong(!)Password
|
||||||
MSSQL_PID: Developer
|
MSSQL_PID: Developer
|
||||||
|
|
||||||
|
- image: pingcap/tidb:v2.1.2
|
||||||
|
|
||||||
working_directory: /go/src/github.com/go-xorm/xorm
|
working_directory: /go/src/github.com/go-xorm/xorm
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
@ -52,6 +54,8 @@ jobs:
|
||||||
- run: go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic
|
- run: go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic
|
||||||
- run: go test -v -race -db="mssql" -conn_str="server=localhost;user id=sa;password=yourStrong(!)Password;database=xorm_test" -coverprofile=coverage6-1.txt -covermode=atomic
|
- run: go test -v -race -db="mssql" -conn_str="server=localhost;user id=sa;password=yourStrong(!)Password;database=xorm_test" -coverprofile=coverage6-1.txt -covermode=atomic
|
||||||
- run: go test -v -race -db="mssql" -conn_str="server=localhost;user id=sa;password=yourStrong(!)Password;database=xorm_test" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic
|
- run: go test -v -race -db="mssql" -conn_str="server=localhost;user id=sa;password=yourStrong(!)Password;database=xorm_test" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic
|
||||||
- run: gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt > coverage.txt
|
- run: go test -v -race -db="mysql" -conn_str="root:@tcp(localhost:4000)/xorm_test" -coverprofile=coverage7-1.txt -covermode=atomic
|
||||||
|
- run: go test -v -race -db="mysql" -conn_str="root:@tcp(localhost:4000)/xorm_test" -cache=true -coverprofile=coverage7-2.txt -covermode=atomic
|
||||||
|
- run: gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
|
||||||
|
|
||||||
- run: bash <(curl -s https://codecov.io/bash)
|
- run: bash <(curl -s https://codecov.io/bash)
|
|
@ -0,0 +1 @@
|
||||||
|
go test -db=mysql -conn_str="root:@tcp(localhost:4000)/xorm_test"
|
27
xorm_test.go
27
xorm_test.go
|
@ -41,25 +41,21 @@ func createEngine(dbType, connStr string) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
if !*cluster {
|
if !*cluster {
|
||||||
// create databases if not exist
|
switch strings.ToLower(dbType) {
|
||||||
var db *sql.DB
|
case core.MSSQL:
|
||||||
var err error
|
db, err := sql.Open(dbType, strings.Replace(connStr, "xorm_test", "master", -1))
|
||||||
if strings.ToLower(dbType) != core.MSSQL {
|
|
||||||
db, err = sql.Open(dbType, connStr)
|
|
||||||
} else {
|
|
||||||
db, err = sql.Open(dbType, strings.Replace(connStr, "xorm_test", "master", -1))
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
switch strings.ToLower(dbType) {
|
|
||||||
case core.MSSQL:
|
|
||||||
if _, err = db.Exec("If(db_id(N'xorm_test') IS NULL) BEGIN CREATE DATABASE xorm_test; END;"); err != nil {
|
if _, err = db.Exec("If(db_id(N'xorm_test') IS NULL) BEGIN CREATE DATABASE xorm_test; END;"); err != nil {
|
||||||
return fmt.Errorf("db.Exec: %v", err)
|
return fmt.Errorf("db.Exec: %v", err)
|
||||||
}
|
}
|
||||||
|
db.Close()
|
||||||
case core.POSTGRES:
|
case core.POSTGRES:
|
||||||
|
db, err := sql.Open(dbType, connStr)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
rows, err := db.Query(fmt.Sprintf("SELECT 1 FROM pg_database WHERE datname = 'xorm_test'"))
|
rows, err := db.Query(fmt.Sprintf("SELECT 1 FROM pg_database WHERE datname = 'xorm_test'"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("db.Query: %v", err)
|
return fmt.Errorf("db.Query: %v", err)
|
||||||
|
@ -76,12 +72,17 @@ func createEngine(dbType, connStr string) error {
|
||||||
return fmt.Errorf("CREATE SCHEMA: %v", err)
|
return fmt.Errorf("CREATE SCHEMA: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
db.Close()
|
||||||
case core.MYSQL:
|
case core.MYSQL:
|
||||||
|
db, err := sql.Open(dbType, strings.Replace(connStr, "xorm_test", "mysql", -1))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if _, err = db.Exec("CREATE DATABASE IF NOT EXISTS xorm_test"); err != nil {
|
if _, err = db.Exec("CREATE DATABASE IF NOT EXISTS xorm_test"); err != nil {
|
||||||
return fmt.Errorf("db.Exec: %v", err)
|
return fmt.Errorf("db.Exec: %v", err)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
db.Close()
|
db.Close()
|
||||||
|
}
|
||||||
|
|
||||||
testEngine, err = NewEngine(dbType, connStr)
|
testEngine, err = NewEngine(dbType, connStr)
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue