Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.
This repository is currently being migrated. It's locked while the migration is in progress.

Commit a8871f9

Browse files
committed
add redis cache ci tests
1 parent 73a7003 commit a8871f9

File tree

3 files changed

+34
-10
lines changed

3 files changed

+34
-10
lines changed

.drone.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ services:
2525
when:
2626
event: [ push, tag, pull_request ]
2727

28+
redis:
29+
image: redis:3.0
30+
2831
#mssql:
2932
# image: microsoft/mssql-server-linux:2017-CU11
3033
# environment:
@@ -55,12 +58,21 @@ pipeline:
5558
psql -U postgres -d xorm_test -h pgsql \
5659
-c "create schema xorm;"
5760
61+
init_redis:
62+
image: redis:3.0
63+
commands:
64+
- sleep 5
65+
- redis-cli -h redis ping
66+
- redis-cli -h redis set HELLO hello
67+
- redis-cli -h redis get HELLO
68+
5869
build:
5970
image: golang:${GO_VERSION}
6071
commands:
6172
- go get -t -d -v ./...
6273
- go get -u xorm.io/core
6374
- go get -u xorm.io/builder
75+
- go get -u github.com/go-xorm/xorm-redis-cache
6476
- go build -v
6577
when:
6678
event: [ push, pull_request ]
@@ -71,6 +83,7 @@ pipeline:
7183
- go get -u github.com/wadey/gocovmerge
7284
- go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic
7385
- go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic
86+
- go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage1-2.txt -covermode=atomic
7487
when:
7588
event: [ push, pull_request ]
7689

@@ -79,6 +92,7 @@ pipeline:
7992
commands:
8093
- go test -v -race -db="mysql" -conn_str="root:@tcp(mysql)/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic
8194
- go test -v -race -db="mysql" -conn_str="root:@tcp(mysql)/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
95+
- go test -v -race -db="mysql" -conn_str="root:@tcp(mysql)/xorm_test" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage2-2.txt -covermode=atomic
8296
when:
8397
event: [ push, pull_request ]
8498

@@ -95,6 +109,7 @@ pipeline:
95109
commands:
96110
- go test -v -race -db="mymysql" -conn_str="tcp:mysql:3306*xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic
97111
- go test -v -race -db="mymysql" -conn_str="tcp:mysql:3306*xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic
112+
- go test -v -race -db="mymysql" -conn_str="tcp:mysql:3306*xorm_test/root/" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage3-2.txt -covermode=atomic
98113
when:
99114
event: [ push, pull_request ]
100115

@@ -103,6 +118,7 @@ pipeline:
103118
commands:
104119
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic
105120
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic
121+
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage4-2.txt -covermode=atomic
106122
when:
107123
event: [ push, pull_request ]
108124

@@ -111,6 +127,7 @@ pipeline:
111127
commands:
112128
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -schema=xorm -coverprofile=coverage5-1.txt -covermode=atomic
113129
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -schema=xorm -cache=true -coverprofile=coverage5-2.txt -covermode=atomic
130+
- go test -v -race -db="postgres" -conn_str="postgres://postgres:@pgsql/xorm_test?sslmode=disable" -schema=xorm -cache=true -cache_redis_server="redis:6379" -coverprofile=coverage5-2.txt -covermode=atomic
114131
- gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage2.1-1.txt coverage2.1-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt > coverage.txt
115132
when:
116133
event: [ push, pull_request ]

interface.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ type EngineInterface interface {
8686
GetTableMapper() core.IMapper
8787
GetTZDatabase() *time.Location
8888
GetTZLocation() *time.Location
89+
Logger() core.ILogger
8990
MapCacher(interface{}, core.Cacher) error
9091
NewSession() *Session
9192
NoAutoTime() *Session

xorm_test.go

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,15 @@ var (
2626
dbType string
2727
connString string
2828

29-
db = flag.String("db", "sqlite3", "the tested database")
30-
showSQL = flag.Bool("show_sql", true, "show generated SQLs")
31-
ptrConnStr = flag.String("conn_str", "./test.db?cache=shared&mode=rwc", "test database connection string")
32-
mapType = flag.String("map_type", "snake", "indicate the name mapping")
33-
cache = flag.Bool("cache", false, "if enable cache")
34-
cluster = flag.Bool("cluster", false, "if this is a cluster")
35-
splitter = flag.String("splitter", ";", "the splitter on connstr for cluster")
36-
schema = flag.String("schema", "", "specify the schema")
29+
db = flag.String("db", "sqlite3", "the tested database")
30+
showSQL = flag.Bool("show_sql", true, "show generated SQLs")
31+
ptrConnStr = flag.String("conn_str", "./test.db?cache=shared&mode=rwc", "test database connection string")
32+
mapType = flag.String("map_type", "snake", "indicate the name mapping")
33+
cache = flag.Bool("cache", false, "if enable cache")
34+
cacheRedisServer = flag.String("cache_redis_server", "127.0.0.1:6379", "if cache enabled this will enable redis cache mode")
35+
cluster = flag.Bool("cluster", false, "if this is a cluster")
36+
splitter = flag.String("splitter", ";", "the splitter on connstr for cluster")
37+
schema = flag.String("schema", "", "specify the schema")
3738
ignoreSelectUpdate = flag.Bool("ignore_select_update", false, "ignore select update if implementation difference, only for tidb")
3839
)
3940

@@ -106,8 +107,13 @@ func createEngine(dbType, connStr string) error {
106107
testEngine.ShowSQL(*showSQL)
107108
testEngine.SetLogLevel(core.LOG_DEBUG)
108109
if *cache {
109-
cacher := NewLRUCacher(NewMemoryStore(), 100000)
110-
testEngine.SetDefaultCacher(cacher)
110+
if *cacheRedisServer == "" {
111+
cacher := NewLRUCacher(NewMemoryStore(), 100000)
112+
testEngine.SetDefaultCacher(cacher)
113+
} else {
114+
cacher := xormrediscache.NewRedisCacher(*cacheRedisServer, "", xormrediscache.DEFAULT_EXPIRATION, testEngine.Logger())
115+
testEngine.SetDefaultCacher(cacher)
116+
}
111117
}
112118

113119
if len(*mapType) > 0 {

0 commit comments

Comments
 (0)