Skip to content

Commit d6d5935

Browse files
committed
refactor: test of libevm.ExtrasLock
1 parent 9f50a13 commit d6d5935

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

libevm/extraslock_test.go

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,36 @@ import (
2020
"testing"
2121

2222
"github.com/stretchr/testify/assert"
23+
"github.com/stretchr/testify/require"
2324

2425
// Testing from outside the package to guarantee usage of the public API only.
2526
. "github.com/ava-labs/libevm/libevm"
2627
)
2728

2829
func TestExtrasLock(t *testing.T) {
2930
var zero ExtrasLock
30-
assert.Panics(t, func() { zero.Verify() }, "Verify() method of zero-value ExtrasLock{}")
31-
32-
assert.NoError(t,
33-
WithTemporaryExtrasLock((ExtrasLock).Verify),
34-
"WithTemporaryExtrasLock((ExtrasLock).Verify)",
35-
)
36-
37-
var persisted ExtrasLock
38-
WithTemporaryExtrasLock(func(l ExtrasLock) error {
39-
persisted = l
40-
return nil
31+
assert.Panics(t, func() { _ = zero.Verify() }, "Verify() method of zero-value ExtrasLock{}")
32+
33+
testIntegration := func(t *testing.T) {
34+
t.Helper()
35+
require.NoError(t,
36+
WithTemporaryExtrasLock((ExtrasLock).Verify),
37+
"WithTemporaryExtrasLock((ExtrasLock).Verify)",
38+
)
39+
}
40+
t.Run("initial_usage", testIntegration)
41+
42+
t.Run("lock_expiration", func(t *testing.T) {
43+
var persisted ExtrasLock
44+
require.NoError(t, WithTemporaryExtrasLock(func(l ExtrasLock) error {
45+
persisted = l
46+
return l.Verify()
47+
}))
48+
assert.ErrorIs(
49+
t, persisted.Verify(), ErrExpiredExtrasLock,
50+
"Verify() of persisted ExtrasLock",
51+
)
4152
})
4253

43-
assert.ErrorIs(
44-
t, persisted.Verify(), ErrExpiredExtrasLock,
45-
"Verify() of persisted ExtrasLock",
46-
)
54+
t.Run("repeat_usage", testIntegration)
4755
}

0 commit comments

Comments
 (0)