diff options
author | Daniel Kraft <d@domob.eu> | 2014-10-20 14:14:04 +0200 |
---|---|---|
committer | Daniel Kraft <d@domob.eu> | 2014-10-24 08:53:04 +0200 |
commit | dcb98466b4f8193fc28656d17b2317f21665fa3a (patch) | |
tree | af414ee4e69a16a680ec364ab51c2ac5b7f549c0 /qa/rpc-tests/forknotify.py | |
parent | 3552d4b859d56726cd25baa6f1e5988050bdad33 (diff) |
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-x | qa/rpc-tests/forknotify.py | 35 |
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() |