Skip to content

Commit d4fa65c

Browse files
bpo-23819: Replace AssertionError with proper excs
1 parent cb8f491 commit d4fa65c

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Lib/asyncio/events.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ class TimerHandle(Handle):
101101
__slots__ = ['_scheduled', '_when']
102102

103103
def __init__(self, when, callback, args, loop, context=None):
104-
assert when is not None
104+
if when is None:
105+
raise ValueError('when cannot be None')
105106
super().__init__(callback, args, loop, context)
106107
if self._source_traceback:
107108
del self._source_traceback[-1]
@@ -661,7 +662,8 @@ def get_event_loop(self):
661662
def set_event_loop(self, loop):
662663
"""Set the event loop."""
663664
self._local._set_called = True
664-
assert loop is None or isinstance(loop, AbstractEventLoop)
665+
if loop is not None and not isinstance(loop, AbstractEventLoop):
666+
raise TypeError(f'loop must be an instance of AbstractEventLoop or None, not {type(loop)}')
665667
self._local._loop = loop
666668

667669
def new_event_loop(self):
@@ -745,7 +747,8 @@ def set_event_loop_policy(policy):
745747
746748
If policy is None, the default policy is restored."""
747749
global _event_loop_policy
748-
assert policy is None or isinstance(policy, AbstractEventLoopPolicy)
750+
if policy is not None and not isinstance(policy, AbstractEventLoopPolicy):
751+
raise TypeError(f'policy must be an instance of AbstractEventLoopPolicy or None, not {type(policy)}')
749752
_event_loop_policy = policy
750753

751754

Lib/test/test_asyncio/test_events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2323,7 +2323,7 @@ def callback(*args):
23232323
self.assertIsNone(h._args)
23242324

23252325
# when cannot be None
2326-
self.assertRaises(AssertionError,
2326+
self.assertRaises(ValueError,
23272327
asyncio.TimerHandle, None, callback, args,
23282328
self.loop)
23292329

@@ -2592,7 +2592,7 @@ def test_set_event_loop(self):
25922592
policy = asyncio.DefaultEventLoopPolicy()
25932593
old_loop = policy.get_event_loop()
25942594

2595-
self.assertRaises(AssertionError, policy.set_event_loop, object())
2595+
self.assertRaises(TypeError, policy.set_event_loop, object())
25962596

25972597
loop = policy.new_event_loop()
25982598
policy.set_event_loop(loop)
@@ -2608,7 +2608,7 @@ def test_get_event_loop_policy(self):
26082608

26092609
def test_set_event_loop_policy(self):
26102610
self.assertRaises(
2611-
AssertionError, asyncio.set_event_loop_policy, object())
2611+
TypeError, asyncio.set_event_loop_policy, object())
26122612

26132613
old_policy = asyncio.get_event_loop_policy()
26142614

0 commit comments

Comments
 (0)