Updated bipdersig test to compensate for 75/100 activation and maxupload target values to work with 2MB block sizes.

This commit is contained in:
rustyloy
2016-02-16 20:04:07 -05:00
parent 0780e4458e
commit cd24f1be94
3 changed files with 32 additions and 27 deletions

View File

@@ -9,8 +9,6 @@
from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import *
import os
import shutil
class BIP65Test(BitcoinTestFramework):

View File

@@ -12,6 +12,13 @@ from test_framework.util import *
class BIP66Test(BitcoinTestFramework):
def __init__(self):
self.num_nodes = 3
def setup_chain(self):
print "Initializing test directory "+self.options.tmpdir
initialize_chain_clean(self.options.tmpdir, self.num_nodes)
def setup_network(self):
self.nodes = []
self.nodes.append(start_node(0, self.options.tmpdir, []))
@@ -26,61 +33,61 @@ class BIP66Test(BitcoinTestFramework):
cnt = self.nodes[0].getblockcount()
# Mine some old-version blocks
self.nodes[1].generate(100)
self.nodes[1].generate(10)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 100):
raise AssertionError("Failed to mine 100 version=2 blocks")
if (self.nodes[0].getblockcount() != cnt + 10):
raise AssertionError("Failed to mine 10 version=2 blocks")
# Mine 750 new-version blocks
# Mine 75 new-version blocks
for i in xrange(15):
self.nodes[2].generate(50)
self.nodes[2].generate(5)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 850):
raise AssertionError("Failed to mine 750 version=3 blocks")
if (self.nodes[0].getblockcount() != cnt + 85):
raise AssertionError("Failed to mine 75 version=3 blocks")
# TODO: check that new DERSIG rules are not enforced
# Mine 1 new-version block
self.nodes[2].generate(1)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 851):
if (self.nodes[0].getblockcount() != cnt + 86):
raise AssertionError("Failed to mine a version=3 blocks")
# TODO: check that new DERSIG rules are enforced
# Mine 198 new-version blocks
# Mine 18 new-version blocks
for i in xrange(2):
self.nodes[2].generate(99)
self.nodes[2].generate(9)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 1049):
raise AssertionError("Failed to mine 198 version=3 blocks")
if (self.nodes[0].getblockcount() != cnt + 104):
raise AssertionError("Failed to mine 18 version=3 blocks")
# Mine 1 old-version block
self.nodes[1].generate(1)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 1050):
raise AssertionError("Failed to mine a version=2 block after 949 version=3 blocks")
if (self.nodes[0].getblockcount() != cnt + 105):
raise AssertionError("Failed to mine a version=2 block after 94 version=3 blocks")
# Mine 1 new-version blocks
self.nodes[2].generate(1)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 1051):
if (self.nodes[0].getblockcount() != cnt + 106):
raise AssertionError("Failed to mine a version=3 block")
# Mine 1 old-version blocks
try:
self.nodes[1].generate(1)
raise AssertionError("Succeeded to mine a version=2 block after 950 version=3 blocks")
raise AssertionError("Succeeded to mine a version=2 block after 95 version=3 blocks")
except JSONRPCException:
pass
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 1051):
raise AssertionError("Accepted a version=2 block after 950 version=3 blocks")
if (self.nodes[0].getblockcount() != cnt + 106):
raise AssertionError("Accepted a version=2 block after 95 version=3 blocks")
# Mine 1 new-version blocks
self.nodes[2].generate(1)
self.sync_all()
if (self.nodes[0].getblockcount() != cnt + 1052):
if (self.nodes[0].getblockcount() != cnt + 107):
raise AssertionError("Failed to mine a version=3 block")
if __name__ == '__main__':

View File

@@ -95,9 +95,9 @@ class MaxUploadTest(BitcoinTestFramework):
initialize_chain_clean(self.options.tmpdir, 2)
def setup_network(self):
# Start a node with maxuploadtarget of 200 MB (/24h)
# Start a node with maxuploadtarget of 400 MB (/24h)
self.nodes = []
self.nodes.append(start_node(0, self.options.tmpdir, ["-debug", "-maxuploadtarget=200", "-blockmaxsize=999000"]))
self.nodes.append(start_node(0, self.options.tmpdir, ["-debug", "-maxuploadtarget=400", "-blockmaxsize=999000"]))
def mine_full_block(self, node, address):
# Want to create a full block
@@ -175,13 +175,13 @@ class MaxUploadTest(BitcoinTestFramework):
getdata_request = msg_getdata()
getdata_request.inv.append(CInv(2, big_old_block))
max_bytes_per_day = 200*1024*1024
daily_buffer = 144 * 1000000
max_bytes_per_day = 400*1024*1024
daily_buffer = 144 * 2000000
max_bytes_available = max_bytes_per_day - daily_buffer
success_count = max_bytes_available / old_block_size
# 144MB will be reserved for relaying new blocks, so expect this to
# succeed for ~70 tries.
# Space reserved for relaying 144 new blocks, so expect this to
# succeed for ~140 tries.
for i in xrange(success_count):
test_nodes[0].send_message(getdata_request)
test_nodes[0].sync_with_ping()