Skip to content

Commit

Permalink
[CCIP-5235] integration-tests/smoke/ccip: update msging test (#16408)
Browse files Browse the repository at this point in the history
* integration-tests/smoke/ccip: update msging test

Update the messaging test to assert for no
message re-executions. With the new ShouldTransmit
checks re-executions should never happen.

* bump timeout

* fix types in require

* bump again

* skip flaking rmn IncorrectSig test
  • Loading branch information
makramkd authored Feb 18, 2025
1 parent 94becee commit 2afa230
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 132 deletions.
2 changes: 1 addition & 1 deletion .github/integration-in-memory-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ runner-test-matrix:
runs_on: ubuntu-latest
triggers:
- PR Integration CCIP Tests
test_cmd: cd integration-tests/smoke/ccip && go test ccip_messaging_test.go -timeout 12m -test.parallel=2 -count=1 -json
test_cmd: cd integration-tests/smoke/ccip && go test ccip_messaging_test.go -timeout 18m -test.parallel=2 -count=1 -json
- id: smoke/ccip/ccip_message_limitations_test.go:*
path: integration-tests/smoke/ccip/ccip_message_limitations_test.go
test_env_type: in-memory
Expand Down
2 changes: 1 addition & 1 deletion core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ require (
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/smartcontractkit/ccip-owner-contracts v0.0.0-salt-fix // indirect
github.com/smartcontractkit/chain-selectors v1.0.40 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 // indirect
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 // indirect
github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect
github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250207205350-420ccacab78a // indirect
Expand Down
4 changes: 2 additions & 2 deletions core/scripts/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1078,8 +1078,8 @@ github.com/smartcontractkit/chain-selectors v1.0.40 h1:iLvvoZeehVq6/7F+zzolQLF0D
github.com/smartcontractkit/chain-selectors v1.0.40/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 h1:yXV9GJ6GvtoUpDwh4IkZ50dtjju2aJHBqhEcdBPMr0Q=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 h1:7v5FGwt6y0FKeB2aXPUO+vEyNhVE00KT8CjDsEP2IxE=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 h1:R3OD6Phi0ULIQ2uvHiKVWYdgpi/O1Mt46CUK1UApcXU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60=
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea h1:/1f/pWf7vSV9acTR9UPn2exPAwQG/LHGa4l9OywhS00=
Expand Down
108 changes: 0 additions & 108 deletions deployment/ccip/changeset/testhelpers/test_assertions.go
Original file line number Diff line number Diff line change
Expand Up @@ -442,114 +442,6 @@ func ConfirmExecWithSeqNrsForAll(
return executionStates
}

func ConfirmDoubleExecutions(
t *testing.T,
e deployment.Environment,
state changeset.CCIPOnChainState,
expectedSeqNums map[SourceDestPair][]uint64,
startBlocks map[uint64]*uint64,
) {
var (
wg errgroup.Group
)
for sourceDest, seqRange := range expectedSeqNums {
seqRange := seqRange
srcChain := sourceDest.SourceChainSelector
dstChain := sourceDest.DestChainSelector

var startBlock *uint64
if startBlocks != nil {
startBlock = startBlocks[dstChain]
}

wg.Go(func() error {
err := ConfirmDoubleExecution(
t,
srcChain,
e.Chains[dstChain],
state.Chains[dstChain].OffRamp,
startBlock,
seqRange,
)
return err
})
}

require.NoError(t, wg.Wait())
}

func ConfirmDoubleExecution(
t *testing.T,
sourceSelector uint64,
dest deployment.Chain,
offRamp offramp.OffRampInterface,
startBlock *uint64,
expectedSeqNrRange []uint64,
) error {
timer := time.NewTimer(tests.WaitTimeout(t))
defer timer.Stop()
tick := time.NewTicker(3 * time.Second)
defer tick.Stop()
alreadyExecutedSink := make(chan *offramp.OffRampSkippedAlreadyExecutedMessage)
alreadyAttemptedSink := make(chan *offramp.OffRampAlreadyAttempted)
alreadyExecutedSub, err := offRamp.WatchSkippedAlreadyExecutedMessage(&bind.WatchOpts{
Context: tests.Context(t),
Start: startBlock,
}, alreadyExecutedSink)
if err != nil {
return fmt.Errorf("error to subscribe SkippedAlreadyExecutedMessage : %w", err)
}
defer alreadyExecutedSub.Unsubscribe()
alreadyAttemptedSub, err := offRamp.WatchAlreadyAttempted(&bind.WatchOpts{
Context: tests.Context(t),
Start: startBlock,
}, alreadyAttemptedSink)
if err != nil {
return fmt.Errorf("error to subscribe AlreadyAttempted : %w", err)
}
defer alreadyAttemptedSub.Unsubscribe()

seenAlreadyExecuted := make(map[uint64]struct{})
seenAlreadyAttempted := make(map[uint64]struct{})
seqNrsToWatch := make(map[uint64]struct{})
for _, seqNr := range expectedSeqNrRange {
seqNrsToWatch[seqNr] = struct{}{}
}
for {
select {
case <-tick.C:
for _, expectedSeqNr := range expectedSeqNrRange {
_, alreadyExecuted := seenAlreadyExecuted[expectedSeqNr]
_, alreadyAttempted := seenAlreadyAttempted[expectedSeqNr]
if alreadyAttempted || alreadyExecuted {
t.Logf("Seq nr %d already attempted (%t) or executed (%t) on chain %d (offramp %s) from chain %d",
expectedSeqNr, alreadyAttempted, alreadyExecuted, dest.Selector, offRamp.Address().String(), sourceSelector)
delete(seqNrsToWatch, expectedSeqNr)
}
if len(seqNrsToWatch) == 0 {
return nil
}
}
case alreadyExecutedMsg := <-alreadyExecutedSink:
t.Logf("Received SkippedAlreadyExecutedMessage for seqNum %d on chain %d (offramp %s) from chain %d",
alreadyExecutedMsg.SequenceNumber, dest.Selector, offRamp.Address().String(), sourceSelector)
seenAlreadyExecuted[alreadyExecutedMsg.SequenceNumber] = struct{}{}
delete(seqNrsToWatch, alreadyExecutedMsg.SequenceNumber)
if len(seqNrsToWatch) == 0 {
return nil
}
case alreadyAttemptedMsg := <-alreadyAttemptedSink:
t.Logf("Received AlreadyAttempted for seqNum %d on chain %d (offramp %s) from chain %d",
alreadyAttemptedMsg.SequenceNumber, dest.Selector, offRamp.Address().String(), sourceSelector)
seenAlreadyAttempted[alreadyAttemptedMsg.SequenceNumber] = struct{}{}
delete(seqNrsToWatch, alreadyAttemptedMsg.SequenceNumber)
if len(seqNrsToWatch) == 0 {
return nil
}
}
}
}

// ConfirmExecWithSeqNrs waits for an execution state change on the destination chain with the expected sequence number.
// startBlock is the block number to start watching from.
// If startBlock is nil, it will start watching from the latest block.
Expand Down
2 changes: 1 addition & 1 deletion deployment/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ require (
github.com/sethvargo/go-retry v0.2.4
github.com/smartcontractkit/ccip-owner-contracts v0.0.0-salt-fix
github.com/smartcontractkit/chain-selectors v1.0.40
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea
github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250211162441-3d6cea220efb
Expand Down
4 changes: 2 additions & 2 deletions deployment/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1126,8 +1126,8 @@ github.com/smartcontractkit/chain-selectors v1.0.40 h1:iLvvoZeehVq6/7F+zzolQLF0D
github.com/smartcontractkit/chain-selectors v1.0.40/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 h1:yXV9GJ6GvtoUpDwh4IkZ50dtjju2aJHBqhEcdBPMr0Q=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 h1:7v5FGwt6y0FKeB2aXPUO+vEyNhVE00KT8CjDsEP2IxE=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 h1:R3OD6Phi0ULIQ2uvHiKVWYdgpi/O1Mt46CUK1UApcXU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60=
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea h1:/1f/pWf7vSV9acTR9UPn2exPAwQG/LHGa4l9OywhS00=
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ require (
github.com/shopspring/decimal v1.4.0
github.com/smartcontractkit/chain-selectors v1.0.40
github.com/smartcontractkit/chainlink-automation v0.8.1
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea
github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250128203428-08031923fbe5
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1010,8 +1010,8 @@ github.com/smartcontractkit/chain-selectors v1.0.40 h1:iLvvoZeehVq6/7F+zzolQLF0D
github.com/smartcontractkit/chain-selectors v1.0.40/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 h1:yXV9GJ6GvtoUpDwh4IkZ50dtjju2aJHBqhEcdBPMr0Q=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 h1:7v5FGwt6y0FKeB2aXPUO+vEyNhVE00KT8CjDsEP2IxE=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 h1:R3OD6Phi0ULIQ2uvHiKVWYdgpi/O1Mt46CUK1UApcXU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60=
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea h1:/1f/pWf7vSV9acTR9UPn2exPAwQG/LHGa4l9OywhS00=
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ require (
github.com/slack-go/slack v0.15.0
github.com/smartcontractkit/chain-selectors v1.0.40
github.com/smartcontractkit/chainlink-automation v0.8.1
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea
github.com/smartcontractkit/chainlink-integrations/evm v0.0.0-20250213145514-41d874782c02
github.com/smartcontractkit/chainlink-protos/job-distributor v0.6.0
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1378,8 +1378,8 @@ github.com/smartcontractkit/chain-selectors v1.0.40 h1:iLvvoZeehVq6/7F+zzolQLF0D
github.com/smartcontractkit/chain-selectors v1.0.40/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 h1:yXV9GJ6GvtoUpDwh4IkZ50dtjju2aJHBqhEcdBPMr0Q=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 h1:7v5FGwt6y0FKeB2aXPUO+vEyNhVE00KT8CjDsEP2IxE=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 h1:R3OD6Phi0ULIQ2uvHiKVWYdgpi/O1Mt46CUK1UApcXU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60=
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea h1:/1f/pWf7vSV9acTR9UPn2exPAwQG/LHGa4l9OywhS00=
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/load/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ require (
github.com/rs/zerolog v1.33.0
github.com/slack-go/slack v0.15.0
github.com/smartcontractkit/chain-selectors v1.0.40
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea
github.com/smartcontractkit/chainlink-integrations/evm v0.0.0-20250213145514-41d874782c02
github.com/smartcontractkit/chainlink-testing-framework/lib v1.51.0
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/load/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1361,8 +1361,8 @@ github.com/smartcontractkit/chain-selectors v1.0.40 h1:iLvvoZeehVq6/7F+zzolQLF0D
github.com/smartcontractkit/chain-selectors v1.0.40/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01 h1:yXV9GJ6GvtoUpDwh4IkZ50dtjju2aJHBqhEcdBPMr0Q=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670 h1:7v5FGwt6y0FKeB2aXPUO+vEyNhVE00KT8CjDsEP2IxE=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20250218100940-acd7281f1670/go.mod h1:Hht/OJq/PxC+gnBCIPyzHt4Otsw6mYwUVsmtOqIvlxo=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01 h1:R3OD6Phi0ULIQ2uvHiKVWYdgpi/O1Mt46CUK1UApcXU=
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250214202341-4190f2db1c01/go.mod h1:Bmwq4lNb5tE47sydN0TKetcLEGbgl+VxHEWp4S0LI60=
github.com/smartcontractkit/chainlink-common v0.4.2-0.20250214231858-f365e2bdecea h1:/1f/pWf7vSV9acTR9UPn2exPAwQG/LHGa4l9OywhS00=
Expand Down
62 changes: 54 additions & 8 deletions integration-tests/smoke/ccip/ccip_messaging_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import (
"context"
"fmt"
"math/big"
"sync"
"sync/atomic"
"testing"
"time"

"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
Expand Down Expand Up @@ -81,6 +82,15 @@ func Test_CCIPMessaging(t *testing.T) {
)
)

monitorCtx, monitorCancel := context.WithCancel(ctx)
ms := &monitorState{}
wg := sync.WaitGroup{}
wg.Add(1)
go func() {
defer wg.Done()
monitorReExecutions(monitorCtx, t, state, destChain, ms)
}()

t.Run("data message to eoa", func(t *testing.T) {
out = mt.Run(
mt.TestCase{
Expand All @@ -93,13 +103,7 @@ func Test_CCIPMessaging(t *testing.T) {
ExpectedExecutionState: testhelpers.EXECUTION_STATE_SUCCESS, // success because offRamp won't call an EOA
ExtraAssertions: []func(t *testing.T){
func(t *testing.T) {
// TODO: remove this or make it a "require.Never" once we fix double execution!
doubleExecStart := time.Now()
require.NoError(
t,
testhelpers.ConfirmDoubleExecution(t, sourceChain, e.Env.Chains[destChain], state.Chains[destChain].OffRamp, nil, []uint64{1}),
)
t.Logf("Confirmed double execution in %s", time.Since(doubleExecStart).String())

},
},
},
Expand Down Expand Up @@ -167,6 +171,48 @@ func Test_CCIPMessaging(t *testing.T) {
t.Logf("successfully manually executed message %x",
out.MsgSentEvent.Message.Header.MessageId)
})

monitorCancel()
wg.Wait()
// there should be no re-executions.
require.Equal(t, int32(0), ms.reExecutionsObserved.Load())
}

type monitorState struct {
reExecutionsObserved atomic.Int32
}

func (s *monitorState) incReExecutions() {
s.reExecutionsObserved.Add(1)
}

func monitorReExecutions(
ctx context.Context,
t *testing.T,
state changeset.CCIPOnChainState,
destChain uint64,
ss *monitorState,
) {
sink := make(chan *offramp.OffRampSkippedAlreadyExecutedMessage)
sub, err := state.Chains[destChain].OffRamp.WatchSkippedAlreadyExecutedMessage(&bind.WatchOpts{
Start: nil,
}, sink)
if err != nil {
t.Fatalf("failed to subscribe to already executed msg stream: %s", err.Error())
}

for {
select {
case <-ctx.Done():
return
case subErr := <-sub.Err():
t.Fatalf("subscription error: %s", subErr.Error())
case ev := <-sink:
t.Logf("received an already executed event for seq nr %d and source chain %d",
ev.SequenceNumber, ev.SourceChainSelector)
ss.incReExecutions()
}
}
}

func manuallyExecute(
Expand Down
1 change: 1 addition & 0 deletions integration-tests/smoke/ccip/ccip_rmn_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import (
)

func TestRMN_IncorrectSig(t *testing.T) {
t.Skip("flaking - needs to be fixed")
runRmnTestCase(t, rmnTestCase{
nodesWithIncorrectSigner: []int{0, 1},
name: "messages with incorrect RMN signature",
Expand Down

0 comments on commit 2afa230

Please sign in to comment.