[py-svn] r31488 - in py/branch/distributed/py/test/rsession: . testing
hpk at codespeak.net
hpk at codespeak.net
Tue Aug 22 17:36:56 CEST 2006
Author: hpk
Date: Tue Aug 22 17:36:50 2006
New Revision: 31488
Added:
py/branch/distributed/py/test/rsession/masternode.py (contents, props changed)
py/branch/distributed/py/test/rsession/testing/test_masternode.py (contents, props changed)
Log:
(fijal, hpk) bits of the masternode code.
Added: py/branch/distributed/py/test/rsession/masternode.py
==============================================================================
--- (empty file)
+++ py/branch/distributed/py/test/rsession/masternode.py Tue Aug 22 17:36:50 2006
@@ -0,0 +1,21 @@
+"""
+Node code for Master.
+"""
+from py.__.test.rsession.outcome import ReprOutcome
+
+class MasterNode(object):
+ def __init__(self, channel, report):
+ self.channel = channel
+ self.report = report
+ channel.setcallback(self.receive_result)
+ self.pending = []
+
+ def receive_result(self, outcomestring):
+ repr_outcome = ReprOutcome(outcomestring)
+ item = self.pending.pop()
+ self.report((item, repr_outcome))
+
+ def send(self, item):
+ self.pending.insert(0, item)
+ itemspec = "/".join(item.listnames())
+ self.channel.send(itemspec)
Added: py/branch/distributed/py/test/rsession/testing/test_masternode.py
==============================================================================
--- (empty file)
+++ py/branch/distributed/py/test/rsession/testing/test_masternode.py Tue Aug 22 17:36:50 2006
@@ -0,0 +1,28 @@
+""" test master node """
+
+import py
+from py.__.test.rsession.masternode import MasterNode
+from py.__.test.rsession.outcome import Outcome
+
+class DummyChannel(object):
+ def __init__(self):
+ self.sent = []
+
+ def setcallback(self, func):
+ self.callback = func
+
+ def send(self, item):
+ assert py.std.marshal.dumps(item)
+ self.sent.append(item)
+
+def test_masternode():
+ ch = DummyChannel()
+ reportlist = []
+ mnode = MasterNode(ch, reportlist.append)
+ mnode.send(py.test.Item("ok"))
+ mnode.send(py.test.Item("notok"))
+ ch.callback(Outcome().make_repr())
+ ch.callback(Outcome(excinfo=42).make_repr())
+ assert len(reportlist) == 2
+ assert reportlist[0][1].passed
+ assert not reportlist[1][1].passed
More information about the pytest-commit
mailing list