aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/forknotify.py
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2014-10-20 14:14:04 +0200
committerDaniel Kraft <d@domob.eu>2014-10-24 08:53:04 +0200
commitdcb98466b4f8193fc28656d17b2317f21665fa3a (patch)
treeaf414ee4e69a16a680ec364ab51c2ac5b7f549c0 /qa/rpc-tests/forknotify.py
parent3552d4b859d56726cd25baa6f1e5988050bdad33 (diff)
downloadbitcoin-dcb98466b4f8193fc28656d17b2317f21665fa3a.tar.xz
Extend getchaintips RPC test.
Add the capability to simulate network splits to the RPC test framework and use it to do more extensive testing of 'getchaintips'.
Diffstat (limited to 'qa/rpc-tests/forknotify.py')
-rwxr-xr-xqa/rpc-tests/forknotify.py35
1 files changed, 17 insertions, 18 deletions
diff --git a/qa/rpc-tests/forknotify.py b/qa/rpc-tests/forknotify.py
index a482f7cc5a..23bfb74175 100755
--- a/qa/rpc-tests/forknotify.py
+++ b/qa/rpc-tests/forknotify.py
@@ -17,31 +17,30 @@ class ForkNotifyTest(BitcoinTestFramework):
alert_filename = None # Set by setup_network
- def setup_network(self, test_dir):
- nodes = []
- self.alert_filename = os.path.join(test_dir, "alert.txt")
+ def setup_network(self):
+ self.nodes = []
+ self.alert_filename = os.path.join(self.options.tmpdir, "alert.txt")
with open(self.alert_filename, 'w') as f:
pass # Just open then close to create zero-length file
- nodes.append(start_node(0, test_dir,
+ self.nodes.append(start_node(0, self.options.tmpdir,
["-blockversion=2", "-alertnotify=echo %s >> '" + self.alert_filename + "'"]))
# Node1 mines block.version=211 blocks
- nodes.append(start_node(1, test_dir,
+ self.nodes.append(start_node(1, self.options.tmpdir,
["-blockversion=211"]))
- connect_nodes(nodes[1], 0)
+ connect_nodes(self.nodes[1], 0)
- sync_blocks(nodes)
- return nodes
-
+ self.is_network_split = False
+ self.sync_all()
- def run_test(self, nodes):
+ def run_test(self):
# Mine 51 up-version blocks
- nodes[1].setgenerate(True, 51)
- sync_blocks(nodes)
+ self.nodes[1].setgenerate(True, 51)
+ self.sync_all()
# -alertnotify should trigger on the 51'st,
# but mine and sync another to give
# -alertnotify time to write
- nodes[1].setgenerate(True, 1)
- sync_blocks(nodes)
+ self.nodes[1].setgenerate(True, 1)
+ self.sync_all()
with open(self.alert_filename, 'r') as f:
alert_text = f.read()
@@ -50,10 +49,10 @@ class ForkNotifyTest(BitcoinTestFramework):
raise AssertionError("-alertnotify did not warn of up-version blocks")
# Mine more up-version blocks, should not get more alerts:
- nodes[1].setgenerate(True, 1)
- sync_blocks(nodes)
- nodes[1].setgenerate(True, 1)
- sync_blocks(nodes)
+ self.nodes[1].setgenerate(True, 1)
+ self.sync_all()
+ self.nodes[1].setgenerate(True, 1)
+ self.sync_all()
with open(self.alert_filename, 'r') as f:
alert_text2 = f.read()