32 record.exc_info=record.exc_info[:-1] |
32 record.exc_info=record.exc_info[:-1] |
33 self.buffer.append(record.__dict__) |
33 self.buffer.append(record.__dict__) |
34 |
34 |
35 |
35 |
36 class BadJob(Job): |
36 class BadJob(Job): |
37 def start(self): |
37 def start(self,id=None): |
38 Job.start(self) |
38 Job.start(self,id) |
39 raise Exception("Error") |
39 raise Exception("Error") |
40 |
40 |
41 #einen Manager anlegen, der Job und eine Liste anbietet |
41 #einen Manager anlegen, der Job und eine Liste anbietet |
42 class MyManager(BaseManager): |
42 class MyManager(BaseManager): |
43 pass |
43 pass |
95 |
95 |
96 |
96 |
97 def testJob(self): |
97 def testJob(self): |
98 '''einen Job verarbeiten''' |
98 '''einen Job verarbeiten''' |
99 job=self.manager.Job(None,None,"test") |
99 job=self.manager.Job(None,None,"test") |
100 self.assertEqual(job.getStatus(),"init") |
100 self.assertEqual(job.getStatus(),("init",{})) |
101 self.queue.put(job) |
101 self.queue.put(job) |
102 sleep(.1) |
102 sleep(.1) |
103 self.stop() |
103 self.stop() |
104 self.assertEqual(job.getStatus(),"started") |
104 self.assertEqual(job.getStatus(),("started",{})) |
105 self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
105 self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
106 [(20,'Workerprocess läuft nun...'), |
106 [(20,'Workerprocess läuft nun...'), |
107 (20,'ein neuer Job(1)'), |
107 (20,'ein neuer Job(1)'), |
108 (20,'Job(1) fertig ;)')]) |
108 (20,'Job(1) fertig ;)')]) |
109 |
109 |
110 def testBadJob(self): |
110 def testBadJob(self): |
111 '''einen Job verarbeiten, der fehlschlägt''' |
111 '''einen Job verarbeiten, der fehlschlägt''' |
112 job=self.manager.BadJob(None,None,"test") |
112 job=self.manager.BadJob(None,None,"test") |
113 self.assertEqual(job.getStatus(),"init") |
113 self.assertEqual(job.getStatus(),("init",{})) |
114 self.queue.put(job) |
114 self.queue.put(job) |
115 sleep(.1) |
115 sleep(.1) |
116 self.stop() |
116 self.stop() |
117 self.assertEqual(job.getStatus(),"error") |
117 self.assertEqual(job.getStatus(),("error",{})) |
118 print self.buffer |
118 print self.buffer |
119 self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
119 self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
120 [(20,'Workerprocess läuft nun...'), |
120 [(20,'Workerprocess läuft nun...'), |
121 (20,'ein neuer Job(1)'), |
121 (20,'ein neuer Job(1)'), |
122 (40,'Job(1) fehlgeschlagen :(')]) |
122 (40,'Job(1) fehlgeschlagen :(')]) |