-
Notifications
You must be signed in to change notification settings - Fork 35.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: Add feature_taproot.py --previous_release #20354
test: Add feature_taproot.py --previous_release #20354
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Concept ACK |
1 similar comment
Concept ACK |
The motivation for this is that someone might run the functional tests of a post Taproot release with the code of a pre Taproot release (without any Taproot code)? I'm not entirely sure on the motivation. Also I'd like to review and test this but unsure how the I asked on IRC and @jonatack pointed me to |
Taproot is a softfork that comes with some consensus and policy (transaction relay) changes. While there is a way to "remove" the taproot code at runtime with the The subtest checks that taproot is a softfork, i.e. nodes without the taproot code can still sync with the network at a small cost of missing some consensus checks. As said, You can run the test manually with the If you want to test |
You'll also have to download the previous release first. See https://github.com/bitcoin/bitcoin/pull/19013/files#diff-5de36acd90308dc62abf7855a686ee7052ffb6e762c756fd735fb0c9fbd9595d for instructions. |
ACK fa3c615 Ran Then |
If I wanted to intentionally break this, how do I mess with "older releases"? There documentation for this testing feature? |
fa3c615
to
fa2811b
Compare
Rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
fa2811b
to
faa3c76
Compare
faa3c76
to
fa4b264
Compare
Can be reviewed with --ignore-all-space
fa4b264
to
fa80e10
Compare
(force pushed to tidy up the first commit) |
I was a bit worried that this PR would break #19013, but the subset of changes you're using is simple enough to rebase on (this PR just downloads the binary and doesn't touch the other backwards compatibility tests). tACK fa80e10 @instagibbs replace @MarcoFalke your excellent explanation would make a nice comment in the test. |
Will do in a follow-up or if I have to force push. |
I ran it and succesfully skipped the test when previous releases are missing. After downloading previous versions it ran and tests pass! Code looks fine. tACK fa80e10 Am I right saying it will only be ran by the test runner for people who already had older versions compiled or purposely downloaded binaries?
|
Yes. This is the case for the ci config (one task is using downloaded binaries) and locally if you have compiled/downloaded the binaries.
This is a "known" issue. See bitcoin-core/bitcoincore.org#753 |
This is absolutely not a known issue. Not at all. Not even remotely. |
…release fa80e10 test: Add feature_taproot.py --previous_release (MarcoFalke) 85ccffa test: move releases download incantation to README (Sjors Provoost) 29d6b1d test: previous releases: add v0.20.1 (Sjors Provoost) Pull request description: Disabling the new consensus code at runtime is fine, but potentially fragile and incomplete. Fix that by giving the option to run with a version that has been compiled without any taproot code. ACKs for top commit: Sjors: tACK fa80e10 NelsonGaldeman: tACK fa80e10 Tree-SHA512: 1a1feef823f08c05268759645a8974e1b2d39a024258f5e6acecbe25097aae3fa9302c27262978b40f1aa8e7b525b60c0047199010f2a5d6017dd6434b4066f0
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
Looks like this has been merged? |
Jup, it's the usual brokenness of GitHub. |
Ah, this took a few commits from #19013. I'm rebasing that now... |
Disabling the new consensus code at runtime is fine, but potentially fragile and incomplete. Fix that by giving the option to run with a version that has been compiled without any taproot code.