| Home | Trees | Indices | Help |
|
|---|
|
|
1 from nose.tools import * 2 from grassyknoll.concurrent.lib import * 3 from grassyknoll.concurrent.Message import Message 4 from grassyknoll.concurrent.MailBox import * 5 from grassyknoll.concurrent.Worker import Worker, WorkerExit 6 from grassyknoll.concurrent.Fault import Fault 7 from grassyknoll.concurrent.errors import * 8 from grassyknoll.concurrent.Wrappers import * 9 10 11 #import logging; logging.basicConfig() 12 13 TIMEOUT=.1 14 15 import time 18 19 @errorMessenger(ZeroDivisionError) 20 @functionMessenger() 23 24 @errorMessenger(ZeroDivisionError) 25 @functionMessenger() 29315833 return myfunc34 3739 self.reply_box=ThreadMailBox("ReplyBox", 1) 40 self.worker=Worker(ThreadMailBox("WorkerBox", 1), 41 NullContextManager.factory(func=self.getWorkerFunc()), 42 unhandled="die") 43 self.worker.start()4446 try: 47 self.worker.inbox.sendNow(Message(WorkerExit)) 48 except ConcurrentError: 49 pass 50 51 self.reply_box.close() 52 del self.reply_box 53 del self.worker5486 8761 reply=talk(FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box) 62 assert isinstance(reply, Message) 63 assert reply.payload == 106466 reply=talk(FunctionCall(0), self.worker.inbox, TIMEOUT, self.reply_box) 67 assert isinstance(reply, Message) 68 assert isinstance(reply.payload, Fault) 69 assert reply.payload.type is ZeroDivisionError7072 reply=talk(FunctionCall("oops"), self.worker.inbox, TIMEOUT, self.reply_box) 73 assert isinstance(reply.payload, CrashError) 74 assert reply.payload.type is TypeError75 7880 self.worker.inbox.close() 81 assert_raises(BoxClosedError, talk, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)8284 self.reply_box.close() 85 assert_raises(BoxEmptyError, talk, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)89 93108 11395 assert_raises(ZeroDivisionError, chat, FunctionCall(0), self.worker.inbox, TIMEOUT, self.reply_box)9698 assert_raises(CrashError, chat, FunctionCall("oops"), self.worker.inbox, TIMEOUT, self.reply_box)99 100102 self.worker.inbox.close() 103 assert_raises(BoxClosedError, chat, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)104106 self.reply_box.close() 107 assert_raises(BoxEmptyError, chat, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)115118117 assert_raises(BoxEmptyError, talk, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)120 121 func=staticmethod(slowfunc) 122125124 assert_raises(BoxEmptyError, chat, FunctionCall(10), self.worker.inbox, TIMEOUT, self.reply_box)
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0beta1 on Mon Mar 10 05:37:20 2008 | http://epydoc.sourceforge.net |