@@ -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
2829func 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