Beispiel #1
0
 def test_old_style_exception(self):
     class OldStyle:  # Does not inherit from object
         def  __str__(self):
             return 'doh!'
     callback_exc_info = [None]
     def fn(callback_future):
         callback_exc_info[0] = callback_future.exception_info()
     f = Future()
     f.add_done_callback(fn)
     try:
         raise OldStyle()
     except OldStyle:
         want_exc_info = sys.exc_info()
         f.set_exception_info(*want_exc_info[1:])
     self.assertEqual(f.exception_info(), want_exc_info[1:])
     self.assertEqual(callback_exc_info[0], want_exc_info[1:])
     try:
         f.result()
     except OldStyle:
         got_exc_info = sys.exc_info()
     else:
         self.fail('OldStyle exception not raised')
     self.assertEqual(got_exc_info[:2], want_exc_info[:2])
     got_tb = traceback.extract_tb(got_exc_info[2])
     want_tb = traceback.extract_tb(want_exc_info[2])
     self.assertEqual(got_tb[-len(want_tb):], want_tb)
 def test_old_style_exception(self):
     class OldStyle:  # Does not inherit from object
         def  __str__(self):
             return 'doh!'
     callback_exc_info = [None]
     def fn(callback_future):
         callback_exc_info[0] = callback_future.exception_info()
     f = Future()
     f.add_done_callback(fn)
     try:
         raise OldStyle()
     except OldStyle:
         want_exc_info = sys.exc_info()
         f.set_exception_info(*want_exc_info[1:])
     self.assertEqual(f.exception_info(), want_exc_info[1:])
     self.assertEqual(callback_exc_info[0], want_exc_info[1:])
     try:
         f.result()
     except OldStyle:
         got_exc_info = sys.exc_info()
     else:
         self.fail('OldStyle exception not raised')
     self.assertEqual(got_exc_info[:2], want_exc_info[:2])
     got_tb = traceback.extract_tb(got_exc_info[2])
     want_tb = traceback.extract_tb(want_exc_info[2])
     self.assertEqual(got_tb[-len(want_tb):], want_tb)