Skip to content

coop-close channel integration testing#37

Closed
vincenzopalazzo wants to merge 4 commits intorustyrussell:masterfrom
vincenzopalazzo:vincenzopalazzo/bolt2_close_channel
Closed

coop-close channel integration testing#37
vincenzopalazzo wants to merge 4 commits intorustyrussell:masterfrom
vincenzopalazzo:vincenzopalazzo/bolt2_close_channel

Conversation

@vincenzopalazzo
Copy link
Collaborator

@vincenzopalazzo vincenzopalazzo commented Mar 3, 2022

Build on top of #47

This is one of my first attempts to implement the interoperability test for the shutdown workflow described in BOLT2

This should clarify the idea on the implementation side about the following discussion lightning/bolts#964 and lightning/bolts#970

This will override the c-lightning CI flaky test https://github.com/ElementsProject/lightning/pull/4985/files/93f8a11bf60ad9809ced69c9be0ae7ccf922b2eb..7530018014128a24a42f816ab0676cb85f9e96c8#diff-72d78e7a968ac6b078b7a2d84e56d2e026c54f60e56781f878664bcaae4b2bfbR3441

@vincenzopalazzo vincenzopalazzo added the enhancement New feature or request label Mar 3, 2022
@vincenzopalazzo vincenzopalazzo marked this pull request as draft March 3, 2022 14:11
vincenzopalazzo added a commit that referenced this pull request Mar 9, 2022
66b5a94 lnprototest: remove the default __enter__ __exit__ implementation (Vincenzo Palazzo)
fd9bae5 lnprototest: remove info logging when it is not necessary (Vincenzo Palazzo)
c7144c5 doc: adding log information in the  Readme (Vincenzo Palazzo)
8ff83a9 ci: during the test in the ci increase verbosity of the tests (Vincenzo Palazzo)
363b9e5 lnprototest: adding teardown directory at the end of the tests (Vincenzo Palazzo)
4b4823c fmt: formatting code (Vincenzo Palazzo)
e0cce0a lnprototest: refactroing abstract class and fixed the #14 (Vincenzo Palazzo)

Pull request description:

  kill all the processes when the class was removed from the scope.

  Fixes #14

  This is a refactoring PR cherry-pitched by the PR #37 but it is cleaner to introduce these changes in another PR.

  Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

Top commit has no ACKs.

Tree-SHA512: f2bd5f609caecd9a9bb3bfcd4f02fe7bd73a69a63265c5ee9fca73b7c34116ea044c84fabec0c3d009f7604e63121c0d18fa0f54d5eda19cf730130d8f55d0d1
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 2 times, most recently from c464f7d to f202fb3 Compare March 15, 2022 16:47
@vincenzopalazzo vincenzopalazzo added SPEC Related to lightning network specification SPEC: BOLT 2 Related to BOLT 2 in general and removed enhancement New feature or request labels Mar 15, 2022
@vincenzopalazzo vincenzopalazzo self-assigned this Mar 15, 2022
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 3 times, most recently from 42c10dc to 4ca53ae Compare March 15, 2022 17:10
@michaelfolkson
Copy link

Concept ACK. More testing around cooperative closing is good :)

The motivation for this (as I understand from the c-lightning call) is when a lnprototest test fails bitcoind isn't stopped? Firstly I'm not sure why bitcoind should be stopped if a lnprototest test fails (I guess it depends on the test) and secondly I'm not sure how the code in this PR resolves that. Can you explain?

@vincenzopalazzo
Copy link
Collaborator Author

Concept ACK. More testing around cooperative closing is good :)

Yes, also because we have a little bit of confusion across definition of coop-close in the spec like lightning/bolts#970 (comment) and lightning/bolts#964

The motivation for this (as I understand from the c-lightning call) is when a lnprototest test fails bitcoind isn't stopped? Firstly I'm not sure why bitcoind should be stopped if a lnprototest test fails (I guess it depends on the test) and secondly I'm not sure how the code in this PR resolves that. Can you explain?

Sorry if I miss the point to the PR, this problem is fixed by the following PR #38 In particular if a test fails or lnprototest was not able to clear the work dir in the /tmp and sto bitcoind to work because the following code was missing

def shutdown(self) -> None:
for cb in self.cleanup_callbacks:
cb()
self.rpc.stop()
self.bitcoind.stop()

and also all the lnprototest flow between start -> shutdown -> stop was rewritten

@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 4 times, most recently from 442f33e to 3932da3 Compare March 24, 2022 10:23
@vincenzopalazzo vincenzopalazzo changed the title [WIP] coop-close channel integration testing coop-close channel integration testing Mar 24, 2022
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from 3932da3 to 7f1ba78 Compare March 24, 2022 10:27
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 8 times, most recently from c1ff0a1 to 1c6c016 Compare March 30, 2022 16:40
@vincenzopalazzo vincenzopalazzo marked this pull request as ready for review March 30, 2022 21:01
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 3 times, most recently from 046d5c0 to 1a5de7b Compare March 31, 2022 07:55
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 2 times, most recently from aadd90b to 0d4d793 Compare April 6, 2022 14:07
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from 0d4d793 to 127fd9f Compare April 6, 2022 14:32
@vincenzopalazzo vincenzopalazzo added the SPEC: BOLT 2 - Close Channel Related to BOLT 2, with more focus to the close channel side label Apr 6, 2022
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from 7bc966c to 4b15032 Compare April 9, 2022 13:33
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from 67c3a4f to 31f7da7 Compare April 26, 2022 09:25
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from bc2c4de to e53a8bf Compare May 10, 2022 21:59
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from e53a8bf to 7831416 Compare July 29, 2022 15:40
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from b1677ca to a889aad Compare September 19, 2022 14:40
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch 2 times, most recently from f51122b to 4b1a993 Compare September 19, 2022 15:48
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

# Title: 

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
@vincenzopalazzo vincenzopalazzo force-pushed the vincenzopalazzo/bolt2_close_channel branch from 4b1a993 to ed9d1d6 Compare September 19, 2022 15:48
@vincenzopalazzo
Copy link
Collaborator Author

ovveride by #62

defi-knightxnhu89 added a commit to defi-knightxnhu89/lnprototest that referenced this pull request Sep 29, 2025
…class and fixed the #14

66b5a941b64368506ac9f90ccd5ff1e4f83b52f9 lnprototest: remove the default __enter__ __exit__ implementation (Vincenzo Palazzo)
fd9bae5e117330d8580573d5d05eba4a2b11f659 lnprototest: remove info logging when it is not necessary (Vincenzo Palazzo)
c7144c553864a799c2d1dc1b3e1c38927601a8b4 doc: adding log information in the  Readme (Vincenzo Palazzo)
8ff83a991dfa24e3ebc38357f627660d9af95249 ci: during the test in the ci increase verbosity of the tests (Vincenzo Palazzo)
363b9e54222bb1ad83671e18d4a89827310c8511 lnprototest: adding teardown directory at the end of the tests (Vincenzo Palazzo)
4b4823c0702cc1cd57fb491b9c497bad1f4bc369 fmt: formatting code (Vincenzo Palazzo)
e0cce0a4b1645d41e9b411a2f6ce85af4f062640 lnprototest: refactroing abstract class and fixed the #14 (Vincenzo Palazzo)

Pull request description:

  kill all the processes when the class was removed from the scope.

  Fixes #14

  This is a refactoring PR cherry-pitched by the PR rustyrussell/lnprototest#37 but it is cleaner to introduce these changes in another PR.

  Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

Top commit has no ACKs.

Tree-SHA512: f2bd5f609caecd9a9bb3bfcd4f02fe7bd73a69a63265c5ee9fca73b7c34116ea044c84fabec0c3d009f7604e63121c0d18fa0f54d5eda19cf730130d8f55d0d1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

SPEC: BOLT 2 - Close Channel Related to BOLT 2, with more focus to the close channel side SPEC: BOLT 2 Related to BOLT 2 in general SPEC Related to lightning network specification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants