diff options
| author | Jason Madden <jamadden@gmail.com> | 2021-04-28 12:11:34 -0500 |
|---|---|---|
| committer | Jason Madden <jamadden@gmail.com> | 2021-04-28 12:11:34 -0500 |
| commit | a74449ad5e7de34ca6cadedd062d9ee4307db911 (patch) | |
| tree | 10022a60d0aba72b4f964f916ea120c1d2fe433f /tests | |
| parent | 44ce7ec3fb28a30cc9bc076083460325f9ebb92b (diff) | |
| download | trollius-git-a74449ad5e7de34ca6cadedd062d9ee4307db911.tar.gz | |
Make socket.error with errno EBADF get raised as OSError.
Fixes #17
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_py33_exceptions.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_py33_exceptions.py b/tests/test_py33_exceptions.py new file mode 100644 index 0000000..42fb4e2 --- /dev/null +++ b/tests/test_py33_exceptions.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +""" +Tests for py33_exceptions. + +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + + +import unittest +from trollius import py33_exceptions + +class TestWrapErrors(unittest.TestCase): + + def test_ebadf_wrapped_to_OSError(self): + # https://github.com/jamadden/trollius/issues/17 + import socket + import os + import errno + s = socket.socket() + os.close(s.fileno()) + + with self.assertRaises(socket.error) as exc: + s.send(b'abc') + + self.assertEqual(exc.exception.errno, errno.EBADF) + + with self.assertRaises(OSError) as exc: + py33_exceptions.wrap_error(s.send, b'abc') + + self.assertEqual(exc.exception.errno, errno.EBADF) + +if __name__ == '__main__': + unittest.main() |
