|
|
|
@ -11,7 +11,6 @@ This test takes 30 mins or more (up to 2 hours)
@@ -11,7 +11,6 @@ This test takes 30 mins or more (up to 2 hours)
|
|
|
|
|
|
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework |
|
|
|
|
from test_framework.util import * |
|
|
|
|
import time |
|
|
|
|
import os |
|
|
|
|
|
|
|
|
|
MIN_BLOCKS_TO_KEEP = 288 |
|
|
|
@ -79,11 +78,8 @@ class PruneTest(BitcoinTestFramework):
@@ -79,11 +78,8 @@ class PruneTest(BitcoinTestFramework):
|
|
|
|
|
for i in range(25): |
|
|
|
|
mine_large_block(self.nodes[0], self.utxo_cache_0) |
|
|
|
|
|
|
|
|
|
waitstart = time.time() |
|
|
|
|
while os.path.isfile(self.prunedir+"blk00000.dat"): |
|
|
|
|
time.sleep(0.1) |
|
|
|
|
if time.time() - waitstart > 30: |
|
|
|
|
raise AssertionError("blk00000.dat not pruned when it should be") |
|
|
|
|
# Wait for blk00000.dat to be pruned |
|
|
|
|
wait_until(lambda: not os.path.isfile(self.prunedir+"blk00000.dat"), timeout=30) |
|
|
|
|
|
|
|
|
|
self.log.info("Success") |
|
|
|
|
usage = calc_usage(self.prunedir) |
|
|
|
@ -218,11 +214,8 @@ class PruneTest(BitcoinTestFramework):
@@ -218,11 +214,8 @@ class PruneTest(BitcoinTestFramework):
|
|
|
|
|
goalbestheight = first_reorg_height + 1 |
|
|
|
|
|
|
|
|
|
self.log.info("Verify node 2 reorged back to the main chain, some blocks of which it had to redownload") |
|
|
|
|
waitstart = time.time() |
|
|
|
|
while self.nodes[2].getblockcount() < goalbestheight: |
|
|
|
|
time.sleep(0.1) |
|
|
|
|
if time.time() - waitstart > 900: |
|
|
|
|
raise AssertionError("Node 2 didn't reorg to proper height") |
|
|
|
|
# Wait for Node 2 to reorg to proper height |
|
|
|
|
wait_until(lambda: self.nodes[2].getblockcount() >= goalbestheight, timeout=900) |
|
|
|
|
assert(self.nodes[2].getbestblockhash() == goalbesthash) |
|
|
|
|
# Verify we can now have the data for a block previously pruned |
|
|
|
|
assert(self.nodes[2].getblock(self.forkhash)["height"] == self.forkheight) |
|
|
|
|