wecisecode 3 dias atrás
pai
commit
1559d08f0d
1 arquivos alterados com 13 adições e 11 exclusões
  1. 13 11
      odbctest/odbcmql/mql_run.go

+ 13 - 11
odbctest/odbcmql/mql_run.go

@@ -357,7 +357,7 @@ type GlobalVars struct {
 	ch_wait_mql_done     map[string]chan bool
 }
 
-func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
+func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (retok bool) {
 	mt.t = t
 	mt.fw = fw
 	global := &GlobalVars{
@@ -376,11 +376,22 @@ func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
 		mql:  map[string]*Variables{}}
 	ctx, cancel := context.WithCancel(context.Background())
 	defer cancel()
-	var wg sync.WaitGroup
 	st := time.Now()
 	loop_i := 0
 	parallel_queue := pqc.NewQueue[any](0)
 	mqlcount := int32(0)
+	defer func() {
+		mt.scopevars.RLock()
+		loop_count := mt.scopevars.top.loop_count
+		mt.scopevars.RUnlock()
+		ut := time.Since(st)
+		aut := time.Duration(0)
+		if mqlcount > 0 {
+			aut = global.totalusetime / time.Duration(mqlcount)
+		}
+		logger.Info("完成 ", loop_count, " 次执行,共", mqlcount, "次 MQL 请求,耗时", ut, "单条响应时间", global.minusetime, "~", global.maxusetime, "/", aut, "平均每秒吞吐量", (int64(mqlcount)*int64(time.Second))/int64(ut))
+	}()
+	var wg sync.WaitGroup
 	for {
 		mt.scopevars.Lock()
 		ok := loop_i < mt.scopevars.top.loop_count
@@ -457,15 +468,6 @@ func (mt *MQLTest) Run(t *testing.T, fw *filewalker.FileWalker) (ok bool) {
 		}
 	}
 	wg.Wait()
-	mt.scopevars.RLock()
-	loop_count := mt.scopevars.top.loop_count
-	mt.scopevars.RUnlock()
-	ut := time.Since(st)
-	aut := time.Duration(0)
-	if mqlcount > 0 {
-		aut = global.totalusetime / time.Duration(mqlcount)
-	}
-	logger.Info("完成 ", loop_count, " 次执行,共", mqlcount, "次 MQL 请求,耗时", ut, "单条响应时间", global.minusetime, "~", global.maxusetime, "/", aut, "平均每秒吞吐量", (int64(mqlcount)*int64(time.Second))/int64(ut))
 	return
 }