2013-08-08 05:24:38 +00:00
|
|
|
package xorm
|
|
|
|
|
|
|
|
import (
|
|
|
|
_ "github.com/ziutek/mymysql/godrv"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
/*
|
|
|
|
CREATE DATABASE IF NOT EXISTS xorm_test CHARACTER SET
|
|
|
|
utf8 COLLATE utf8_general_ci;
|
|
|
|
*/
|
|
|
|
|
2013-10-04 16:44:43 +00:00
|
|
|
var showTestSql bool = true
|
2013-09-28 15:14:42 +00:00
|
|
|
|
2013-08-08 05:24:38 +00:00
|
|
|
func TestMyMysql(t *testing.T) {
|
2013-12-04 10:39:22 +00:00
|
|
|
err := mysqlDdlImport()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
2013-11-16 16:52:43 +00:00
|
|
|
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
|
|
|
|
|
2013-12-04 10:39:22 +00:00
|
|
|
sqlResults, _ := engine.Import("tests/mysql_ddl.sql")
|
|
|
|
engine.LogDebug("sql results: %v", sqlResults)
|
|
|
|
|
2013-11-16 16:52:43 +00:00
|
|
|
testAll(engine, t)
|
|
|
|
testAll2(engine, t)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestMyMysqlWithCache(t *testing.T) {
|
2013-12-04 10:39:22 +00:00
|
|
|
err := mysqlDdlImport()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
2013-09-26 07:33:15 +00:00
|
|
|
engine, err := NewEngine("mymysql", "xorm_test2/root/")
|
2013-08-08 05:24:38 +00:00
|
|
|
defer engine.Close()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
2013-11-16 16:52:43 +00:00
|
|
|
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
|
2013-09-28 15:14:42 +00:00
|
|
|
engine.ShowSQL = showTestSql
|
2013-11-16 16:52:43 +00:00
|
|
|
engine.ShowErr = showTestSql
|
|
|
|
engine.ShowWarn = showTestSql
|
|
|
|
engine.ShowDebug = showTestSql
|
2013-08-08 05:24:38 +00:00
|
|
|
|
2013-12-04 10:39:22 +00:00
|
|
|
sqlResults, _ := engine.Import("tests/mysql_ddl.sql")
|
|
|
|
engine.LogDebug("sql results: %v", sqlResults)
|
|
|
|
|
2013-08-08 05:24:38 +00:00
|
|
|
testAll(engine, t)
|
2013-09-26 07:19:39 +00:00
|
|
|
testAll2(engine, t)
|
2013-08-08 05:24:38 +00:00
|
|
|
}
|
2013-09-28 15:14:42 +00:00
|
|
|
|
2013-12-04 10:39:22 +00:00
|
|
|
func mysqlDdlImport() error {
|
|
|
|
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-09-28 15:14:42 +00:00
|
|
|
func BenchmarkMyMysqlNoCache(t *testing.B) {
|
2013-12-04 10:39:22 +00:00
|
|
|
err := mysqlDdlImport()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2013-09-28 15:14:42 +00:00
|
|
|
engine, err := NewEngine("mymysql", "xorm_test2/root/")
|
|
|
|
defer engine.Close()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
//engine.ShowSQL = true
|
|
|
|
doBenchCacheFind(engine, t)
|
|
|
|
}
|
|
|
|
|
|
|
|
func BenchmarkMyMysqlCache(t *testing.B) {
|
2013-12-04 10:39:22 +00:00
|
|
|
err := mysqlDdlImport()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2013-09-28 15:14:42 +00:00
|
|
|
engine, err := NewEngine("mymysql", "xorm_test2/root/")
|
|
|
|
defer engine.Close()
|
|
|
|
if err != nil {
|
|
|
|
t.Error(err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
|
|
|
|
doBenchCacheFind(engine, t)
|
|
|
|
}
|