test cover more

This commit is contained in:
yedf2 2021-07-30 11:47:18 +08:00
parent 4766038eba
commit 879eda00d8
4 changed files with 16 additions and 18 deletions

View File

@ -19,16 +19,17 @@ func wait() {
}
func main() {
if len(os.Args) > 1 && os.Args[1] == "dtmsvr" { // 实际运行只启动dtmsvr不重新load数据
dtmsvr.MainStart()
wait()
}
// 下面都是运行示例,因此首先把服务器的数据重新准备好
onlyServer := len(os.Args) > 1 && os.Args[1] == "dtmsvr"
if !onlyServer { // 实际线上运行只启动dtmsvr不准备table相关的数据
dtmsvr.PopulateMysql(true)
dtmsvr.MainStart()
if len(os.Args) == 1 { // 默认没有参数的情况下准备好数据并启动dtmsvr即可
}
dtmsvr.StartSvr() // 启动dtmsvr的api服务
go dtmsvr.CronExpiredTrans(-1) // 启动dtmsvr的定时过期查询
if onlyServer || len(os.Args) == 1 { // 没有参数或者参数为dtmsvr则不运行例子
wait()
}
// quick_start 比较独立,单独作为一个例子运行,方便新人上手
if len(os.Args) > 1 && (os.Args[1] == "quick_start" || os.Args[1] == "qs") {
examples.QsStartSvr()

View File

@ -26,8 +26,8 @@ func CronTransOnce(expireIn time.Duration) bool {
// CronExpiredTrans cron expired trans, num == -1 indicate for ever
func CronExpiredTrans(num int) {
for i := 0; i < num || num == -1; i++ {
notEmpty := CronTransOnce(time.Duration(0))
if !notEmpty {
hasTrans := CronTransOnce(time.Duration(0))
if !hasTrans && num != 1 {
sleepCronTime()
}
}
@ -60,5 +60,6 @@ func handlePanic() {
func sleepCronTime() {
delta := math.Min(3, float64(config.TransCronInterval))
interval := time.Duration((float64(config.TransCronInterval) - rand.Float64()*delta) * float64(time.Second))
logrus.Printf("sleeping for %v", interval)
time.Sleep(interval)
}

View File

@ -41,8 +41,10 @@ func TestCover(t *testing.T) {
db := dbGet()
db.NoMust()
CronTransOnce(0)
defer handlePanic()
err := common.CatchP(func() {
checkAffected(db.DB)
})
assert.Error(t, err)
CronExpiredTrans(1)
go sleepCronTime()

View File

@ -11,12 +11,6 @@ import (
var dtmsvrPort = 8080
// MainStart main
func MainStart() {
StartSvr()
go CronExpiredTrans(-1)
}
// StartSvr StartSvr
func StartSvr() {
logrus.Printf("start dtmsvr")