mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-10 19:16:34 +03:00
Remove unnecessary test decorator 'skip_if_cant_cast'
ctypes is available and works on all supported Pythons. It has been available since Python 2.5. The tests were written when Python 2.4 was still supported.
This commit is contained in:
parent
68bacbb194
commit
eb2d1766c6
|
@ -22,13 +22,14 @@
|
|||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
# License for more details.
|
||||
|
||||
import ctypes
|
||||
import decimal
|
||||
import platform
|
||||
|
||||
import sys
|
||||
from functools import wraps
|
||||
from . import testutils
|
||||
import unittest
|
||||
from .testutils import ConnectingTestCase, decorate_all_tests, long
|
||||
from .testutils import ConnectingTestCase, long
|
||||
|
||||
import psycopg2
|
||||
|
||||
|
@ -471,36 +472,16 @@ class AdaptSubclassTest(unittest.TestCase):
|
|||
self.assertEqual(ext.adapt(foo((1, 2, 3))).getquoted(), 'bar')
|
||||
|
||||
|
||||
@decorate_all_tests
|
||||
def skip_if_cant_cast(f):
|
||||
@wraps(f)
|
||||
def skip_if_cant_cast_(self, *args, **kwargs):
|
||||
if self._cast is None:
|
||||
return self.skipTest("can't test bytea parser: %s - %s"
|
||||
% (self._exc.__class__.__name__, self._exc))
|
||||
|
||||
return f(self, *args, **kwargs)
|
||||
|
||||
return skip_if_cant_cast_
|
||||
|
||||
|
||||
@skip_if_cant_cast
|
||||
@unittest.skipIf(
|
||||
platform.system() == 'Windows',
|
||||
"Not testing because we are useless with ctypes on Windows")
|
||||
class ByteaParserTest(unittest.TestCase):
|
||||
"""Unit test for our bytea format parser."""
|
||||
def setUp(self):
|
||||
try:
|
||||
self._cast = self._import_cast()
|
||||
except Exception as e:
|
||||
self._cast = None
|
||||
self._exc = e
|
||||
|
||||
def _import_cast(self):
|
||||
"""Use ctypes to access the C function.
|
||||
|
||||
Raise any sort of error: we just support this where ctypes works as
|
||||
expected.
|
||||
"""
|
||||
import ctypes
|
||||
"""Use ctypes to access the C function."""
|
||||
lib = ctypes.pydll.LoadLibrary(psycopg2._psycopg.__file__)
|
||||
cast = lib.typecast_BINARY_cast
|
||||
cast.argtypes = [ctypes.c_char_p, ctypes.c_size_t, ctypes.py_object]
|
||||
|
|
Loading…
Reference in New Issue
Block a user