Skip to content

Commit

Permalink
channeld: Add aggressive restart test
Browse files Browse the repository at this point in the history
Changelog-None
  • Loading branch information
ddustin authored and rustyrussell committed Nov 17, 2024
1 parent cb2163e commit 4500661
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
14 changes: 14 additions & 0 deletions contrib/pyln-client/pyln/client/lightning.py
Original file line number Diff line number Diff line change
Expand Up @@ -1149,6 +1149,20 @@ def splice(self, script_or_json, dryrun=None, force_feerate=None, debug_log=None
}
return self.call("dev-splice", payload)

def stfu_channels(self, channel_ids):
""" STFU multiple channels """
payload = {
"channel_ids": channel_ids,
}
return self.call("stfu_channels", payload)

def abort_channels(self, channel_ids):
""" Abort multiple channels """
payload = {
"channel_ids": channel_ids,
}
return self.call("abort_channels", payload)

def splice_init(self, chan_id, amount, initialpsbt=None, feerate_per_kw=None):
""" Initiate a splice """
payload = {
Expand Down
21 changes: 21 additions & 0 deletions tests/test_restart.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from fixtures import * # noqa: F401,F403
import pytest
import unittest
from utils import (
TEST_NETWORK
)


@pytest.mark.openchannel('v1')
@pytest.mark.openchannel('v2')
@unittest.skipIf(TEST_NETWORK != 'regtest', 'elementsd doesnt yet support PSBT features we need')
def test_agressive_restart(node_factory, bitcoind):
l1, l2 = node_factory.line_graph(2, fundamount=1000000, wait_for_announce=True, opts={'experimental-splicing': None})

chan_id = l1.get_channel_id(l2)

for _ in range(20):
l1.rpc.stfu_channels([chan_id])
l1.rpc.abort_channels([chan_id])
l1.daemon.wait_for_log(r'peer_in WIRE_CHANNEL_REESTABLISH')
l2.daemon.wait_for_log(r'peer_in WIRE_CHANNEL_REESTABLISH')

0 comments on commit 4500661

Please sign in to comment.