Skip to content

Commit

Permalink
fix broken error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
koehlma committed Nov 28, 2015
1 parent ede043c commit 01c1c26
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 16 deletions.
24 changes: 12 additions & 12 deletions tests/test_loop.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,18 +133,18 @@ def test_close(self):

self.loop.close()

self.assertRaises(uv.HandleClosedError, uv.Async, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Check, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Idle, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Pipe, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Poll, 0, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Prepare, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Process, ['python'], loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Signal, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.TCP, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.Timer, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.TTY, 0, loop=self.loop)
self.assertRaises(uv.HandleClosedError, uv.UDP, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Async, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Check, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Idle, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Pipe, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Poll, 0, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Prepare, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Process, ['python'], loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Signal, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.TCP, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.Timer, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.TTY, 0, loop=self.loop)
self.assertRaises(uv.LoopClosedError, uv.UDP, loop=self.loop)

def test_current_loop(self):
self.assertEqual(uv.Loop.default_loop(), uv.Loop.current_loop())
Expand Down
5 changes: 3 additions & 2 deletions uv/error.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,10 @@ def __init__(self, code, message=None):
class ClosedError(UVError):
def __init__(self):
message = 'invalid operation on closed structure'
super(HandleClosedError, self).__init__(StatusCode.EINVAL, message)
super(ClosedError, self).__init__(StatusCode.EINVAL, message)


class HandleClosedError(ClosedError): pass

class LoopClosedError(ClosedError): pass

class LoopClosedError(ClosedError): pass
2 changes: 1 addition & 1 deletion uv/handle.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

from .library import ffi, lib, attach, detach, dummy_callback, is_linux

from .error import UVError, HandleClosedError
from .error import UVError, HandleClosedError, LoopClosedError
from .loop import Loop

__all__ = ['close_all_handles', 'Handle']
Expand Down
1 change: 0 additions & 1 deletion uv/idle.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class Idle(Handle):
__slots__ = ['uv_idle', 'callback']

def __init__(self, loop=None, callback=None):
if loop.closing: raise HandleClosedError()
self.uv_idle = ffi.new('uv_idle_t*')
super(Idle, self).__init__(self.uv_idle, loop)
self.callback = callback or dummy_callback
Expand Down

0 comments on commit 01c1c26

Please sign in to comment.