test(datanode): fix limit.go unit test

Signed-off-by: NaturalSelect <2145973003@qq.com>
This commit is contained in:
NaturalSelect 2023-05-29 20:24:09 +08:00 committed by pengtianyue
parent 8e60a92829
commit 3b1a70b140

View File

@ -12,7 +12,7 @@ import (
func TestInitRepairLimit(t *testing.T) { func TestInitRepairLimit(t *testing.T) {
initRepairLimit() initRepairLimit()
assert.Equal(t, MaxExtentRepairLimit, cap(extentRepairLimitRater)) assert.Equal(t, MaxExtentRepairLimit, len(extentRepairLimitRater))
} }
func TestRequestDoExtentRepair(t *testing.T) { func TestRequestDoExtentRepair(t *testing.T) {
@ -25,11 +25,17 @@ func TestRequestDoExtentRepair(t *testing.T) {
err := requestDoExtentRepair() err := requestDoExtentRepair()
require.NoError(t, err) require.NoError(t, err)
stop := false
for { for {
if stop {
break
}
select { select {
case <-extentRepairLimitRater: case <-extentRepairLimitRater:
// do nothing
default: default:
return stop = true
break
} }
} }
@ -46,19 +52,28 @@ func TestFininshDoExtentRepair(t *testing.T) {
err := requestDoExtentRepair() err := requestDoExtentRepair()
require.NoError(t, err) require.NoError(t, err)
stop := false
for { for {
if stop {
break
}
select { select {
case <-extentRepairLimitRater: case <-extentRepairLimitRater:
// do nothing
default: default:
return stop = true
break
} }
} }
// finishDoExtentRepair() will send a struct{} to extentRepairLimitRater
fininshDoExtentRepair() fininshDoExtentRepair()
select { select {
case <-extentRepairLimitRater: case <-extentRepairLimitRater:
t.Fatalf("extentRepairLimitRater should be empty") if len(extentRepairLimitRater) != 0 {
t.Fatalf("extentRepairLimitRater should be empty, but len(extentRepairLimitRater) is %v", len(extentRepairLimitRater))
}
default: default:
} }
} }