fixed p2pool.test.test_p2p testcase
authorForrest Voight <forrest@forre.st>
Fri, 22 Jun 2012 21:48:55 +0000 (17:48 -0400)
committerForrest Voight <forrest@forre.st>
Sun, 24 Jun 2012 04:36:49 +0000 (00:36 -0400)
p2pool/test/test_p2p.py

index 36803cb..d8c18ff 100644 (file)
@@ -1,25 +1,36 @@
 import random
 
-from twisted.internet import defer, reactor
+from twisted.internet import defer
 from twisted.trial import unittest
 
-from p2pool import data, networks, p2p
-from p2pool.util import deferral
+from p2pool import networks, p2p
 
 class MyNode(p2p.Node):
+    def __init__(self, df):
+        p2p.Node.__init__(self, lambda: None, 29333, networks.nets['bitcoin'], {}, set([('127.0.0.1', 9333)]), 0, 0, 0, 0)
+        
+        self.id_to_use = random.randrange(2**256)
+        self.df = df
+    
     def handle_share_hashes(self, hashes, peer):
-        peer.send_sharereq(id=random.randrange(2**256), hashes=[hashes[0]], parents=5, stops=[])
-        print 'handle_share_hashes', (hashes, peer)
+        peer.send_sharereq(
+            id=self.id_to_use,
+            hashes=[hashes[0]],
+            parents=5,
+            stops=[],
+        )
     
     def handle_share_reply(self, id, result, shares, peer):
-        print (id, result, shares)
+        if id == self.id_to_use:
+            self.df.callback(None)
 
 class Test(unittest.TestCase):
     @defer.inlineCallbacks
     def test_sharereq(self):
-        n = MyNode(lambda: None, 29333, networks.nets['bitcoin'], {}, set([('127.0.0.1', 9333)]), 0, 0, 0, 0)
+        df = defer.Deferred()
+        n = MyNode(df)
         n.start()
         try:
-            yield deferral.sleep(10)
+            yield df
         finally:
             n.stop()