summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorFederico Caselli <cfederico87@gmail.com>2020-04-18 18:10:59 +0200
committerFederico Caselli <cfederico87@gmail.com>2020-10-02 21:21:11 +0200
commitc68f9fb87868c45fcadcc942ce4a35f10ff2f7ea (patch)
treed9056aebf73fd296afdce471b6cb9e7699eae345 /lib/sqlalchemy
parent7bb9ea911cb2e573696a91392a6a08161950ac9f (diff)
downloadsqlalchemy-c68f9fb87868c45fcadcc942ce4a35f10ff2f7ea.tar.gz
Enable pypy tests on github workflow
Fixes: #5223 Change-Id: I0952e54ed9af2952ea340be1945311376ffc1ad2
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/mapper.py2
-rw-r--r--lib/sqlalchemy/testing/plugin/pytestplugin.py2
-rw-r--r--lib/sqlalchemy/util/__init__.py1
-rw-r--r--lib/sqlalchemy/util/compat.py1
-rw-r--r--lib/sqlalchemy/util/langhelpers.py4
5 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 7b94bfa87..e73993e50 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -1253,7 +1253,7 @@ class Mapper(
if key == "__init__" and hasattr(method, "_sa_original_init"):
method = method._sa_original_init
if isinstance(method, types.MethodType):
- method = method.im_func
+ method = method.__func__
if isinstance(method, types.FunctionType):
if hasattr(method, "__sa_reconstructor__"):
self._reconstructor = method
diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py
index a4ace4e24..dfefd3b95 100644
--- a/lib/sqlalchemy/testing/plugin/pytestplugin.py
+++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py
@@ -385,7 +385,7 @@ def %(name)s(%(args)s):
code, {"target": target, "fn": fn}, fn.__name__
)
if not add_positional_parameters:
- decorated.__defaults__ = getattr(fn, "im_func", fn).__defaults__
+ decorated.__defaults__ = getattr(fn, "__func__", fn).__defaults__
decorated.__wrapped__ = fn
return update_wrapper(decorated, fn)
else:
diff --git a/lib/sqlalchemy/util/__init__.py b/lib/sqlalchemy/util/__init__.py
index 5fdcdf654..7ce0ce12b 100644
--- a/lib/sqlalchemy/util/__init__.py
+++ b/lib/sqlalchemy/util/__init__.py
@@ -73,6 +73,7 @@ from .compat import py2k # noqa
from .compat import py36 # noqa
from .compat import py37 # noqa
from .compat import py3k # noqa
+from .compat import pypy # noqa
from .compat import quote_plus # noqa
from .compat import raise_ # noqa
from .compat import raise_from_cause # noqa
diff --git a/lib/sqlalchemy/util/compat.py b/lib/sqlalchemy/util/compat.py
index c71deffbc..d4da21664 100644
--- a/lib/sqlalchemy/util/compat.py
+++ b/lib/sqlalchemy/util/compat.py
@@ -20,6 +20,7 @@ py37 = sys.version_info >= (3, 7)
py36 = sys.version_info >= (3, 6)
py3k = sys.version_info >= (3, 0)
py2k = sys.version_info < (3, 0)
+pypy = hasattr(sys, "pypy_version_info")
cpython = platform.python_implementation() == "CPython"
diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py
index bbdd3381f..85a065e99 100644
--- a/lib/sqlalchemy/util/langhelpers.py
+++ b/lib/sqlalchemy/util/langhelpers.py
@@ -165,7 +165,7 @@ def %(name)s(%(args)s):
env.update({targ_name: target, fn_name: fn})
decorated = _exec_code_in_env(code, env, fn.__name__)
- decorated.__defaults__ = getattr(fn, "im_func", fn).__defaults__
+ decorated.__defaults__ = getattr(fn, "__func__", fn).__defaults__
decorated.__wrapped__ = fn
return update_wrapper(decorated, fn)
@@ -784,7 +784,7 @@ def monkeypatch_proxied_specials(
fn = getattr(from_cls, method)
if not hasattr(fn, "__call__"):
continue
- fn = getattr(fn, "im_func", fn)
+ fn = getattr(fn, "__func__", fn)
except AttributeError:
continue
try: