test: previous releases: add v22.0

This commit is contained in:
Sjors Provoost
2021-09-22 13:10:40 +02:00
parent 40849eebd9
commit d8b705f1ca
5 changed files with 19 additions and 5 deletions

View File

@@ -34,11 +34,12 @@ from test_framework.util import (
class BackwardsCompatibilityTest(BitcoinTestFramework):
def set_test_params(self):
self.setup_clean_chain = True
self.num_nodes = 8
self.num_nodes = 9
# Add new version after each release:
self.extra_args = [
["-addresstype=bech32"], # Pre-release: use to mine blocks
["-nowallet", "-walletrbf=1", "-addresstype=bech32"], # Pre-release: use to receive coins, swap wallets, etc
["-nowallet", "-walletrbf=1", "-addresstype=bech32"], # v22.0
["-nowallet", "-walletrbf=1", "-addresstype=bech32"], # v0.21.0
["-nowallet", "-walletrbf=1", "-addresstype=bech32"], # v0.20.1
["-nowallet", "-walletrbf=1", "-addresstype=bech32"], # v0.19.1
@@ -56,6 +57,7 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
self.add_nodes(self.num_nodes, extra_args=self.extra_args, versions=[
None,
None,
220000,
210000,
200100,
190100,

View File

@@ -447,11 +447,15 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
def get_bin_from_version(version, bin_name, bin_default):
if not version:
return bin_default
if version > 219999:
# Starting at client version 220000 the first two digits represent
# the major version, e.g. v22.0 instead of v0.22.0.
version *= 100
return os.path.join(
self.options.previous_releases_path,
re.sub(
r'\.0$',
'', # remove trailing .0 for point releases
r'\.0$' if version <= 219999 else r'(\.0){1,2}$',
'', # Remove trailing dot for point releases, after 22.0 also remove double trailing dot.
'v{}.{}.{}.{}'.format(
(version % 100000000) // 1000000,
(version % 1000000) // 10000,