xorm/sqlite3_test.go

200 lines
3.4 KiB
Go
Raw Normal View History

2013-06-08 04:41:51 +00:00
package xorm
import (
2013-12-04 07:03:21 +00:00
//"database/sql"
2013-11-27 09:14:57 +00:00
_ "github.com/mattn/go-sqlite3"
2013-09-26 07:33:15 +00:00
"os"
2013-06-08 04:41:51 +00:00
"testing"
)
2013-12-04 07:03:21 +00:00
func newSqlite3Engine() (*Engine, error) {
2013-09-26 07:33:15 +00:00
os.Remove("./test.db")
2013-12-04 07:03:21 +00:00
return NewEngine("sqlite3", "./test.db")
}
func TestSqlite3(t *testing.T) {
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
2013-06-16 03:05:16 +00:00
}
engine.ShowSQL = showTestSql
2013-12-04 07:03:21 +00:00
engine.ShowErr = showTestSql
engine.ShowWarn = showTestSql
engine.ShowDebug = showTestSql
2013-06-16 03:05:16 +00:00
testAll(engine, t)
2013-09-26 07:19:39 +00:00
testAll2(engine, t)
testAll3(engine, t)
2013-06-08 04:41:51 +00:00
}
2013-12-04 07:03:21 +00:00
func TestSqlite3WithCache(t *testing.T) {
engine, err := newSqlite3Engine()
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)
}
/*func BenchmarkSqlite3DriverInsert(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
if err != nil {
t.Error(err)
return
}
err = engine.CreateTables(&BigStruct{})
if err != nil {
t.Error(err)
return
}
engine.Close()
db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
t.Error(err)
return
}
doBenchDriverInsertS(db, t)
db.Close()
engine, err = newSqlite3Engine()
if err != nil {
t.Error(err)
return
}
err = engine.DropTables(&BigStruct{})
if err != nil {
t.Error(err)
return
}
defer engine.Close()
}
func BenchmarkSqlite3DriverFind(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
err = engine.CreateTables(&BigStruct{})
if err != nil {
t.Error(err)
return
}
engine.Close()
db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
t.Error(err)
return
}
defer db.Close()
doBenchDriverFindS(db, t)
db.Close()
engine, err = newSqlite3Engine()
if err != nil {
t.Error(err)
return
}
err = engine.DropTables(&BigStruct{})
if err != nil {
t.Error(err)
return
}
defer engine.Close()
}*/
func BenchmarkSqlite3NoCacheInsert(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
//engine.ShowSQL = true
2013-12-04 07:03:21 +00:00
doBenchInsert(engine, t)
}
2013-12-04 07:03:21 +00:00
func BenchmarkSqlite3NoCacheFind(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
//engine.ShowSQL = true
doBenchFind(engine, t)
}
func BenchmarkSqlite3NoCacheFindPtr(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
//engine.ShowSQL = true
doBenchFindPtr(engine, t)
}
func BenchmarkSqlite3CacheInsert(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
doBenchInsert(engine, t)
}
func BenchmarkSqlite3CacheFind(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
doBenchFind(engine, t)
}
func BenchmarkSqlite3CacheFindPtr(t *testing.B) {
t.StopTimer()
engine, err := newSqlite3Engine()
defer engine.Close()
if err != nil {
t.Error(err)
return
}
engine.SetDefaultCacher(NewLRUCacher(NewMemoryStore(), 1000))
2013-12-04 07:03:21 +00:00
doBenchFindPtr(engine, t)
}