xorm/mymysql_test.go

168 lines
3.2 KiB
Go
Raw Normal View History

package xorm
import (
2013-12-18 03:31:32 +00:00
"database/sql"
"testing"
2013-12-16 15:42:31 +00:00
2013-12-18 03:31:32 +00:00
_ "github.com/ziutek/mymysql/godrv"
)
/*
CREATE DATABASE IF NOT EXISTS xorm_test CHARACTER SET
utf8 COLLATE utf8_general_ci;
*/
var showTestSql bool = true
func TestMyMysql(t *testing.T) {
2013-12-18 03:31:32 +00:00
err := mymysqlDdlImport()
if err != nil {
t.Error(err)
return
}
engine, err := NewEngine("mymysql", "xorm_test/root/")
defer engine.Close()
if err != nil {
t.Error(err)
return
}
engine.ShowSQL = showTestSql
engine.ShowErr = showTestSql
engine.ShowWarn = showTestSql
engine.ShowDebug = showTestSql
testAll(engine, t)
testAll2(engine, t)
testAll3(engine, t)
2013-11-16 16:52:43 +00:00
}
func TestMyMysqlWithCache(t *testing.T) {
2013-12-18 03:31:32 +00:00
err := mymysqlDdlImport()
if err != nil {
t.Error(err)
return
}
engine, err := NewEngine("mymysql", "xorm_test2/root/")
defer engine.Close()
if err != nil {
t.Error(err)
return
}
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
engine.ShowSQL = showTestSql
engine.ShowErr = showTestSql
engine.ShowWarn = showTestSql
engine.ShowDebug = showTestSql
testAll(engine, t)
testAll2(engine, t)
}
2013-12-04 07:03:21 +00:00
func newMyMysqlEngine() (*Engine, error) {
2013-12-18 03:31:32 +00:00
return NewEngine("mymysql", "xorm_test2/root/")
2013-12-16 15:42:31 +00:00
}
func newMyMysqlDriverDB() (*sql.DB, error) {
2013-12-18 03:31:32 +00:00
return sql.Open("mymysql", "xorm_test2/root/")
2013-12-16 15:42:31 +00:00
}
func BenchmarkMyMysqlDriverInsert(t *testing.B) {
2013-12-18 03:31:32 +00:00
doBenchDriver(newMyMysqlDriverDB, createTableMySql, dropTableMySql,
doBenchDriverInsert, t)
2013-12-16 15:42:31 +00:00
}
func BenchmarkMyMysqlDriverFind(t *testing.B) {
2013-12-18 03:31:32 +00:00
doBenchDriver(newMyMysqlDriverDB, createTableMySql, dropTableMySql,
doBenchDriverFind, t)
2013-12-04 07:03:21 +00:00
}
2013-12-06 03:06:02 +00:00
func mymysqlDdlImport() error {
2013-12-18 03:31:32 +00:00
engine, err := NewEngine("mymysql", "/root/")
if err != nil {
return err
}
engine.ShowSQL = showTestSql
engine.ShowErr = showTestSql
engine.ShowWarn = showTestSql
engine.ShowDebug = showTestSql
sqlResults, _ := engine.Import("tests/mysql_ddl.sql")
engine.LogDebug("sql results: %v", sqlResults)
engine.Close()
return nil
2013-12-04 10:39:22 +00:00
}
2013-12-04 07:03:21 +00:00
func BenchmarkMyMysqlNoCacheInsert(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
defer engine.Close()
doBenchInsert(engine, t)
2013-12-04 07:03:21 +00:00
}
func BenchmarkMyMysqlNoCacheFind(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
defer engine.Close()
//engine.ShowSQL = true
doBenchFind(engine, t)
}
2013-12-04 07:03:21 +00:00
func BenchmarkMyMysqlNoCacheFindPtr(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
defer engine.Close()
//engine.ShowSQL = true
doBenchFindPtr(engine, t)
2013-12-04 07:03:21 +00:00
}
func BenchmarkMyMysqlCacheInsert(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
2013-12-04 12:33:43 +00:00
2013-12-18 03:31:32 +00:00
defer engine.Close()
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
2013-12-04 07:03:21 +00:00
2013-12-18 03:31:32 +00:00
doBenchInsert(engine, t)
2013-12-04 07:03:21 +00:00
}
func BenchmarkMyMysqlCacheFind(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
2013-12-04 10:39:22 +00:00
2013-12-18 03:31:32 +00:00
defer engine.Close()
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
2013-12-04 07:03:21 +00:00
2013-12-18 03:31:32 +00:00
doBenchFind(engine, t)
2013-12-04 07:03:21 +00:00
}
func BenchmarkMyMysqlCacheFindPtr(t *testing.B) {
2013-12-18 03:31:32 +00:00
engine, err := newMyMysqlEngine()
if err != nil {
t.Error(err)
return
}
2013-12-04 12:33:43 +00:00
2013-12-18 03:31:32 +00:00
defer engine.Close()
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
2013-12-04 07:03:21 +00:00
2013-12-18 03:31:32 +00:00
doBenchFindPtr(engine, t)
}