functional test with ancient wallet.dat (upgrade test) #14536

issue MarcoFalke opened this issue on October 21, 2018
  1. MarcoFalke commented at 1:45 PM on October 21, 2018: member

    There should be a test that starts a node on a datadir with a wallet that was created by an ancient (potentially no longer supported version) of Bitcoin Core.

    Wallets could be created for every released version of Bitcoin Core, but in this repo and on travis it should be sufficient to run against one wallet. Exhaustive tests could be done externally.

    In the future we could even run it against the whole datadir with blocks and chainstate, but this is of lower priority.

  2. MarcoFalke added the label Wallet on Oct 21, 2018
  3. MarcoFalke added the label Tests on Oct 21, 2018
  4. ryanofsky commented at 2:10 PM on October 23, 2018: member

    I think it would be nice if this were done using #12134, so old wallets could be programmatically generated in python. This would make it easier to write new tests for specific upgrade bugs. It would also let us avoid having to keep track of a collection of unreadable binary blobs or database dumps.

  5. MarcoFalke commented at 9:03 PM on October 23, 2018: member

    I see the advantage, but at some point the old code can no longer be compiled on a recent Ubuntu. So the tests would break if we needed to generate the wallet file that way.

  6. ryanofsky commented at 7:13 PM on October 25, 2018: member

    I think #12134 uses release binaries so is less likely to break due to dependency issues. But even if a release stops working and blobs need to be generated offline, I think it's better if blobs are programmatically generated so tests are understandable and extensible.

  7. Sjors commented at 7:17 PM on November 1, 2018: member

    Keep in mind that #12134 previous versions currently don't go back far enough to generate a non-HD wallet, and it's non-trivial to keep the functional test suite alive for very old node versions. So a hardcoded payload in the test suite, which we can dynamically load, makes more sense to me.

    Brief IRC discussion: <img width="1017" alt="schermafbeelding 2018-11-01 om 20 18 36" src="https://user-images.githubusercontent.com/10217/47874154-582eb100-de13-11e8-841a-88a2323582d7.png">

  8. MarcoFalke closed this on Apr 27, 2020

  9. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me