From ecd605e3b2b9e090361518632e66b4cc4a2712ac Mon Sep 17 00:00:00 2001 From: fijal Date: Wed, 7 Feb 2007 19:44:49 +0100 Subject: [PATCH] [svn r38098] A test and typo discovered by that test. --HG-- branch : trunk --- py/test/rsession/master.py | 2 +- py/test/rsession/testing/test_master.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/py/test/rsession/master.py b/py/test/rsession/master.py index 2e041522e..ef47dd2a0 100644 --- a/py/test/rsession/master.py +++ b/py/test/rsession/master.py @@ -34,7 +34,7 @@ class MasterNode(object): self.reporter(repevent.SendItem(self.channel, item)) except IOError: print "Sending error, channel IOError" - print self.channel._getremoterror() + print self.channel._getremoteerror() # XXX: this should go as soon as we'll have proper detection # of hanging nodes and such raise diff --git a/py/test/rsession/testing/test_master.py b/py/test/rsession/testing/test_master.py index c686c000c..463242e64 100644 --- a/py/test/rsession/testing/test_master.py +++ b/py/test/rsession/testing/test_master.py @@ -39,6 +39,16 @@ class DummyChannel(object): assert py.std.marshal.dumps(item) self.sent.append(item) +class NonWorkingChannel(object): + def setcallback(self, func): + pass + + def send(self, item): + raise IOError + + def _getremoteerror(self): + return "blah" + class Item(py.test.Item): def _get_collector_trail(self): return (self.name,) @@ -62,6 +72,15 @@ def test_masternode(): assert received[0].outcome.passed assert not received[1].outcome.passed +def test_masternode_nonworking_channel(): + ch = NonWorkingChannel() + reportlist = [] + mnode = MasterNode(ch, reportlist.append) + cap = py.io.StdCaptureFD() + py.test.raises(IOError, 'mnode.send(Item("ok"))') + out, err = cap.reset() + assert out.find("blah") != -1 + def test_sending_two_noes(): # XXX fijal: this test previously tested that the second # item result would not get send. why? did i miss