From bd2e530ac9a11f9ea1cdb18fa1e9e10f32d041c1 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 2 Nov 2012 01:00:19 -0400 Subject: [PATCH] extended test_node to test switchover --- p2pool/test/test_node.py | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/p2pool/test/test_node.py b/p2pool/test/test_node.py index 73738ee..2a087cb 100644 --- a/p2pool/test/test_node.py +++ b/p2pool/test/test_node.py @@ -6,7 +6,7 @@ from twisted.internet import defer, reactor from twisted.trial import unittest from twisted.web import resource, server -from p2pool import node, work +from p2pool import data, node, work from p2pool.bitcoin import networks, worker_interface from p2pool.util import deferral, jsonrpc, math, variable @@ -136,7 +136,12 @@ class Test(unittest.TestCase): @defer.inlineCallbacks def test_nodes(self): + try: + old_successor = data.Share.SUCCESSOR + data.Share.SUCCESSOR = data.NewShare + N = 3 + SHARES = 600 nodes = [] for i in xrange(N): @@ -144,17 +149,21 @@ class Test(unittest.TestCase): yield deferral.sleep(3) - for i in xrange(100): + for i in xrange(SHARES): proxy = jsonrpc.Proxy('http://127.0.0.1:' + str(random.choice(nodes).web_port.getHost().port)) blah = yield proxy.rpc_getwork() yield proxy.rpc_getwork(blah['data']) yield deferral.sleep(random.expovariate(1/.1)) + print i + print type(nodes[0].n.tracker.items[nodes[0].n.best_share_var.value]) yield deferral.sleep(3) for i, n in enumerate(nodes): - assert len(n.n.tracker.items) == 100, (i, len(n.n.tracker.items)) - assert n.n.tracker.verified.get_height(n.n.best_share_var.value) == 100, (i, n.n.tracker.verified.get_height(n.n.best_share_var.value)) + assert len(n.n.tracker.items) == SHARES, (i, len(n.n.tracker.items)) + assert n.n.tracker.verified.get_height(n.n.best_share_var.value) == SHARES, (i, n.n.tracker.verified.get_height(n.n.best_share_var.value)) + assert type(n.n.tracker.items[nodes[0].n.best_share_var.value]) is data.NewShare + assert type(n.n.tracker.items[n.n.tracker.get_nth_parent_hash(nodes[0].n.best_share_var.value, SHARES - 5)]) is data.Share for n in nodes: yield n.stop() @@ -166,3 +175,5 @@ class Test(unittest.TestCase): gc.collect() yield deferral.sleep(20) # waiting for work_poller to exit + finally: + data.Share.SUCCESSOR = old_successor -- 1.7.1