From 04f08b67a47074edf2c171111e61dbfdd8a8bb6a Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 3 Jun 2018 11:57:32 -0700 Subject: [PATCH] __code__ and __self__ are attributes in python2.6+ --- src/_pytest/compat.py | 2 +- src/_pytest/fixtures.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/_pytest/compat.py b/src/_pytest/compat.py index e4072ecdb..7abd3d53f 100644 --- a/src/_pytest/compat.py +++ b/src/_pytest/compat.py @@ -83,7 +83,7 @@ def iscoroutinefunction(func): def getlocation(function, curdir): fn = py.path.local(inspect.getfile(function)) - lineno = py.builtin._getcode(function).co_firstlineno + lineno = function.__code__.co_firstlineno if fn.relto(curdir): fn = fn.relto(curdir) return "%s:%d" % (fn, lineno + 1) diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py index bfae4cb61..495e6b9b3 100644 --- a/src/_pytest/fixtures.py +++ b/src/_pytest/fixtures.py @@ -354,8 +354,7 @@ class FixtureRequest(FuncargnamesCompatAttr): return self._pyfuncitem._testcase except AttributeError: function = getattr(self, "function", None) - if function is not None: - return py.builtin._getimself(function) + return getattr(function, "__self__", None) @scopeproperty() def module(self):