MCPcopy Index your code
hub / github.com/python/cpython / assert_exc_equal

Method assert_exc_equal

Lib/test/test_crossinterp.py:411–433  ·  view source on GitHub ↗
(self, exc1, exc2)

Source from the content-addressed store, hash-verified

409 self.assertEqual(args1, args2)
410
411 def assert_exc_equal(self, exc1, exc2):
412 self.assertIs(type(exc1), type(exc2))
413
414 if type(exc1).__eq__ is not object.__eq__:
415 self.assertEqual(exc1, exc2)
416
417 self.assert_exc_args_equal(exc1, exc2)
418 # XXX For now we do not preserve tracebacks.
419 if exc1.__traceback__ is not None:
420 self.assertEqual(exc1.__traceback__, exc2.__traceback__)
421 self.assertEqual(
422 getattr(exc1, '__notes__', None),
423 getattr(exc2, '__notes__', None),
424 )
425 # We assume there are no cycles.
426 if exc1.__cause__ is None:
427 self.assertIs(exc1.__cause__, exc2.__cause__)
428 else:
429 self.assert_exc_equal(exc1.__cause__, exc2.__cause__)
430 if exc1.__context__ is None:
431 self.assertIs(exc1.__context__, exc2.__context__)
432 else:
433 self.assert_exc_equal(exc1.__context__, exc2.__context__)
434
435 def assert_equal_or_equalish(self, obj, expected):
436 cls = type(expected)

Callers 2

assert_exc_args_equalMethod · 0.95

Calls 3

assert_exc_args_equalMethod · 0.95
assertIsMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected