From b769cd142deda74fe46e231cc7b687a86514f2f1 Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Wed, 20 Feb 2019 21:40:29 +0100 Subject: [test] add v0.17.1 wallet upgrade test --- test/functional/feature_backwards_compatibility.py | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/functional/feature_backwards_compatibility.py b/test/functional/feature_backwards_compatibility.py index 946e5de054..6304c285fe 100755 --- a/test/functional/feature_backwards_compatibility.py +++ b/test/functional/feature_backwards_compatibility.py @@ -19,6 +19,7 @@ import os import shutil from test_framework.test_framework import BitcoinTestFramework, SkipTest +from test_framework.descriptors import descsum_create from test_framework.util import ( assert_equal, @@ -240,6 +241,28 @@ class BackwardsCompatibilityTest(BitcoinTestFramework): self.stop_node(self.num_nodes - 1) node_v17.assert_start_raises_init_error(["-wallet=w3_v18"], "Error: Error loading w3_v18: Wallet requires newer version of Bitcoin Core") node_v17.assert_start_raises_init_error(["-wallet=w3"], "Error: Error loading w3: Wallet requires newer version of Bitcoin Core") + self.start_node(self.num_nodes - 1) + + self.log.info("Test wallet upgrade path...") + # u1: regular wallet, created with v0.17 + node_v17.createwallet(wallet_name="u1_v17") + wallet = node_v17.get_wallet_rpc("u1_v17") + address = wallet.getnewaddress("bech32") + info = wallet.getaddressinfo(address) + hdkeypath = info["hdkeypath"] + pubkey = info["pubkey"] + + # Copy the wallet to the last Bitcoin Core version and open it: + node_v17.unloadwallet("u1_v17") + shutil.copytree( + os.path.join(node_v17_wallets_dir, "u1_v17"), + os.path.join(node_master_wallets_dir, "u1_v17") + ) + node_master.loadwallet("u1_v17") + wallet = node_master.get_wallet_rpc("u1_v17") + info = wallet.getaddressinfo(address) + descriptor = "wpkh([" + info["hdmasterfingerprint"] + hdkeypath[1:] + "]" + pubkey + ")" + assert_equal(info["desc"], descsum_create(descriptor)) if __name__ == '__main__': BackwardsCompatibilityTest().main() -- cgit v1.2.3