##// END OF EJS Templates
Add an extra test for traceback handling in task submissions....
Fernando Perez -
Show More
@@ -185,3 +185,25 b' class ITaskControllerTestCase(TaskTestBase):'
185 d.addCallback(lambda _: self.tc.get_task_result(0, block=True))
185 d.addCallback(lambda _: self.tc.get_task_result(0, block=True))
186 d.addErrback(lambda f: self.assertRaises(IndexError, f.raiseException))
186 d.addErrback(lambda f: self.assertRaises(IndexError, f.raiseException))
187 return d
187 return d
188
189 def test_traceback(self):
190 """Ensure that we have a traceback object in task failures."""
191
192 self.addEngine(1)
193 cmd = """
194 def fail():
195 raise IOError('failure test')
196
197 result = fail()
198 """
199 t1 = task.StringTask(cmd, pull = 'result')
200 d = self.tc.run(t1)
201 d.addCallback(self.tc.get_task_result, block=True)
202 # Sanity check, that the right exception is raised
203 d.addCallback(lambda tr: self.assertRaises(IOError, tr.raise_exception))
204 # Rerun the same task, this time we check for the traceback
205 d.addCallback(lambda r: self.tc.run(t1))
206 d.addCallback(self.tc.get_task_result, block=True)
207 d.addCallback(lambda tr: self.assertNotEquals(tr.failure.getTraceback(),
208 None))
209 return d
General Comments 0
You need to be logged in to leave comments. Login now