What changed, and why it matters
This commit only adds extra checks to a test file to make an existing integration test more reliable. It does not change production code, user-facing behavior, or any security mechanism. There is no security issue here.
No security action needed. Treat as a normal test-stability improvement.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch modifies OfferPaymentSpec.scala, an integration test, by adding eventually assertions that wait for routing graph edges to appear before the test proceeds. This addresses test flakiness caused by asynchronous propagation of channel announcements in the router graph. No production code is changed.
Changed components
eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scalaInspect captured patch +4 / −0
diff --git a/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala b/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
index 345ba20..74ed201 100644
--- a/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
+++ b/eclair-core/src/test/scala/fr/acinq/eclair/integration/basic/payment/OfferPaymentSpec.scala
@@ -115,6 +115,7 @@ class OfferPaymentSpec extends FixtureSpec with IntegrationPatience {
eventually {
assert(getRouterData(alice).channels.size == 3 || testData.tags.contains(PrivateChannels))
assert(getRouterData(carol).graphWithBalances.graph.getEdgesBetween(alice.nodeId, bob.nodeId).nonEmpty || testData.tags.contains(PrivateChannels))
+ assert(getRouterData(carol).graphWithBalances.graph.getEdgesBetween(bob.nodeId, carol.nodeId).size == 2)
}
}
@@ -464,6 +465,9 @@ class OfferPaymentSpec extends FixtureSpec with IntegrationPatience {
// We create a first channel between Bob and Carol.
val channelId_bc_1 = openChannel(bob, carol, 200_000 sat).channelId
waitForChannelCreatedBC(f, channelId_bc_1)
+ eventually {
+ assert(getRouterData(carol).graphWithBalances.graph.getEdgesBetween(bob.nodeId, carol.nodeId).nonEmpty)
+ }
val sender = TestProbe()
carol.router ! Router.FinalizeRoute(sender.ref.toTyped, Router.PredefinedNodeRoute(50_000_000 msat, Seq(bob.nodeId, carol.nodeId)))
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.