Write compatibility tests for mempool.dat #19037

issue MarcoFalke openend this issue on May 21, 2020
  1. MarcoFalke commented at 12:28 pm on May 21, 2020: member

    The format of mempool.dat has been changed in #18038

    It would be nice to have an automated functional test which checks that the mempool.dat created by an earlier version can still be read by a newer version.

    This is a compatibility test similar to ./test/functional/wallet_upgradewallet.py, which can serve as a template or skeleton for the new test.

    I suggest that the test does at least the following:

    • Have two nodes (old version and current master)
    • Have the old node create some transactions which end up in the mempool
    • Start the new node with the mempool.dat of the old node and check that the mempool is properly deserialized
    • Have the new node create some mempool transactions that end up in the unbroadcast set, stop the new node
    • move the mempool.dat to the old node again and check that the mempool.dat can be deserialized properly (obviously without the unbroadcast set)

    Useful skills:

    Basic understanding of the Bitcoin Core mempool, and the functional test framwork.

    Want to work on this issue?

    The purpose of the good first issue label is to highlight which issues are suitable for a new contributor without a deep understanding of the codebase.

    You do not need to request permission to start working on this. You are encouraged to comment on the issue if you are planning to work on it. This will help other contributors monitor which issues are actively being addressed and is also an effective way to request assistance if and when you need it.

    For guidance on contributing, please read CONTRIBUTING.md before opening your pull request.

  2. MarcoFalke added the label good first issue on May 21, 2020
  3. MarcoFalke commented at 12:28 pm on May 21, 2020: member
    Follow-ups could also add checks that bit flips and other file corruption is handled properly
  4. fanquake added the label Tests on May 21, 2020
  5. S3RK commented at 5:11 am on May 31, 2020: member
    Looks like a good first issue for me to get started. Working on this one
  6. MarcoFalke referenced this in commit 0afbeb73cc on Jun 16, 2020
  7. MarcoFalke closed this on Jun 16, 2020

  8. sidhujag referenced this in commit 7dda7c0a8c on Jul 7, 2020
  9. DrahtBot locked this on Feb 15, 2022
  10. vijaydasmp referenced this in commit 44a7f5ec37 on Dec 28, 2022
  11. vijaydasmp referenced this in commit aed8b16ba2 on Dec 29, 2022
  12. vijaydasmp referenced this in commit 708bb0d149 on Dec 30, 2022
  13. vijaydasmp referenced this in commit d7f192bf36 on Dec 30, 2022
  14. vijaydasmp referenced this in commit 87a378d933 on Dec 30, 2022
  15. vijaydasmp referenced this in commit 1664655ac6 on Dec 30, 2022
  16. vijaydasmp referenced this in commit 78acb4da01 on Jan 3, 2023
  17. vijaydasmp referenced this in commit 669da06271 on Jan 4, 2023
  18. vijaydasmp referenced this in commit abe9e68473 on Jan 4, 2023
  19. vijaydasmp referenced this in commit 46cde58dcb on Jan 4, 2023
  20. vijaydasmp referenced this in commit cdd53edfe9 on Jan 4, 2023
  21. vijaydasmp referenced this in commit 835bd69336 on Jan 6, 2023
  22. vijaydasmp referenced this in commit 8f8f9017f5 on Jan 17, 2023
  23. vijaydasmp referenced this in commit 0f7a41fc0c on Jan 17, 2023
  24. vijaydasmp referenced this in commit 709d8da94d on Jan 24, 2023
  25. vijaydasmp referenced this in commit 344d26e1b4 on Jan 24, 2023
  26. vijaydasmp referenced this in commit d7b0261729 on Feb 14, 2023

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: 2024-12-21 15:12 UTC

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