peer/test: setup clean peer for each TestHandleNewPendingChannel case

Running test cases in parallel with shared state means that they
can intermingle if they're run at the same time and set up incorrect
values when we assert on the number of channels we have. Moving the
peer setup into the parallel test run fixes this because no single
test case can interfere with the other.
This commit is contained in:
Carla Kirk-Cohen 2023-11-14 15:33:52 -05:00
parent e6fbaafda4
commit a8a86b290c
No known key found for this signature in database
GPG Key ID: 4CA7FE54A6213C91

View File

@ -1183,18 +1183,6 @@ func TestHandleNewPendingChannel(t *testing.T) {
chanIDNotExist := lnwire.ChannelID{1}
chanIDPending := lnwire.ChannelID{2}
// Create a test brontide.
dummyConfig := Config{}
peer := NewBrontide(dummyConfig)
// Create the test state.
peer.activeChannels.Store(chanIDActive, &lnwallet.LightningChannel{})
peer.activeChannels.Store(chanIDPending, nil)
// Assert test state, we should have two channels store, one active and
// one pending.
require.Equal(t, 2, peer.activeChannels.Len())
testCases := []struct {
name string
chanID lnwire.ChannelID
@ -1234,9 +1222,22 @@ func TestHandleNewPendingChannel(t *testing.T) {
t.Parallel()
require := require.New(t)
// Get the number of channels before mutating the
// state.
numChans := peer.activeChannels.Len()
// Create a test brontide.
dummyConfig := Config{}
peer := NewBrontide(dummyConfig)
// Create the test state.
peer.activeChannels.Store(
chanIDActive, &lnwallet.LightningChannel{},
)
peer.activeChannels.Store(chanIDPending, nil)
// Assert test state, we should have two channels
// store, one active and one pending.
numChans := 2
require.EqualValues(
numChans, peer.activeChannels.Len(),
)
// Call the method.
peer.handleNewPendingChannel(req)