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) {
initRepairLimit()
assert.Equal(t, MaxExtentRepairLimit, cap(extentRepairLimitRater))
assert.Equal(t, MaxExtentRepairLimit, len(extentRepairLimitRater))
}
func TestRequestDoExtentRepair(t *testing.T) {
@ -25,11 +25,17 @@ func TestRequestDoExtentRepair(t *testing.T) {
err := requestDoExtentRepair()
require.NoError(t, err)
stop := false
for {
if stop {
break
}
select {
case <-extentRepairLimitRater:
// do nothing
default:
return
stop = true
break
}
}
@ -46,19 +52,28 @@ func TestFininshDoExtentRepair(t *testing.T) {
err := requestDoExtentRepair()
require.NoError(t, err)
stop := false
for {
if stop {
break
}
select {
case <-extentRepairLimitRater:
// do nothing
default:
return
stop = true
break
}
}
// finishDoExtentRepair() will send a struct{} to extentRepairLimitRater
fininshDoExtentRepair()
select {
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:
}
}