timer/test: Improve test coverage

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
Evgenii Stratonikov 2024-11-20 10:53:33 +03:00
parent 2f5d845f7b
commit 28b7188ffb
Signed by: fyrchik
SSH key fingerprint: SHA256:m/TTwCzjnRkXgnzEx9X92ccxy1CcVeinOgDb3NPWWmg

View file

@ -1,6 +1,7 @@
package timer_test package timer_test
import ( import (
"errors"
"testing" "testing"
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/timer" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/timer"
@ -48,6 +49,38 @@ func TestIRBlockTimer_Reset(t *testing.T) {
require.Equal(t, baseCounter[0], baseCounter[1]) require.Equal(t, baseCounter[0], baseCounter[1])
} }
func TestBlockTimer_ResetChangeDuration(t *testing.T) {
var dur uint32 = 2
var err error
var counter int
bt := timer.NewBlockTimer(
func() (uint32, error) { return dur, err },
func() { counter++ })
require.NoError(t, bt.Reset())
tickN(bt, 2)
require.Equal(t, 1, counter)
t.Run("return error", func(t *testing.T) {
dur = 5
err = errors.New("my awesome error")
require.ErrorIs(t, bt.Reset(), err)
tickN(bt, 2)
require.Equal(t, 2, counter)
})
t.Run("change duration", func(t *testing.T) {
dur = 5
err = nil
require.NoError(t, bt.Reset())
tickN(bt, 5)
require.Equal(t, 3, counter)
})
}
func TestBlockTimer(t *testing.T) { func TestBlockTimer(t *testing.T) {
blockDur := uint32(10) blockDur := uint32(10)
baseCallCounter := uint32(0) baseCallCounter := uint32(0)