diff options
author | Martin Zumsande <mzumsande@gmail.com> | 2024-03-25 12:51:55 -0400 |
---|---|---|
committer | Martin Zumsande <mzumsande@gmail.com> | 2024-03-28 13:22:42 -0400 |
commit | b7ba60f81a33db876f88b5f9af1e5025d679b5be (patch) | |
tree | 8be9118c4101abf70aca1e5c67f7b032c2ec8762 /test | |
parent | e57f951805b429534c75ec1e6b2a1f16ae24efb5 (diff) | |
download | bitcoin-b7ba60f81a33db876f88b5f9af1e5025d679b5be.tar.xz |
test: add coverage for -reindex and assumeutxo
Co-authored-by: Fabian Jahr <fjahr@protonmail.com>
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/feature_assumeutxo.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/test/functional/feature_assumeutxo.py b/test/functional/feature_assumeutxo.py index 3e882f47b8..19cbbcffdb 100755 --- a/test/functional/feature_assumeutxo.py +++ b/test/functional/feature_assumeutxo.py @@ -11,9 +11,6 @@ The assumeutxo value generated and used here is committed to in ## Possible test improvements -- TODO: test what happens with -reindex and -reindex-chainstate before the - snapshot is validated, and make sure it's deleted successfully. - Interesting test cases could be loading an assumeutxo snapshot file with: - TODO: Valid hash but invalid snapshot file (bad coin height or @@ -379,6 +376,17 @@ class AssumeutxoTest(BitcoinTestFramework): assert_equal(loaded['coins_loaded'], SNAPSHOT_BASE_HEIGHT) assert_equal(loaded['base_height'], SNAPSHOT_BASE_HEIGHT) + for reindex_arg in ['-reindex=1', '-reindex-chainstate=1']: + self.log.info(f"Check that restarting with {reindex_arg} will delete the snapshot chainstate") + self.restart_node(2, extra_args=[reindex_arg, *self.extra_args[2]]) + assert_equal(1, len(n2.getchainstates()["chainstates"])) + for i in range(1, 300): + block = n0.getblock(n0.getblockhash(i), 0) + n2.submitheader(block) + loaded = n2.loadtxoutset(dump_output['path']) + assert_equal(loaded['coins_loaded'], SNAPSHOT_BASE_HEIGHT) + assert_equal(loaded['base_height'], SNAPSHOT_BASE_HEIGHT) + normal, snapshot = n2.getchainstates()['chainstates'] assert_equal(normal['blocks'], START_HEIGHT) assert_equal(normal.get('snapshot_blockhash'), None) |