[py-svn] commit/pytest: RonnyPfannschmidt: get rid of _memoizedcall - we dont really need it anymore
Bitbucket
commits-noreply at bitbucket.org
Mon Sep 24 11:27:08 CEST 2012
1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/changeset/cfe628a3d132/
changeset: cfe628a3d132
user: RonnyPfannschmidt
date: 2012-09-24 11:26:38
summary: get rid of _memoizedcall - we dont really need it anymore
affected #: 3 files
diff -r 07e5a98aceca50ad07e99b226baf6dd9d84ce380 -r cfe628a3d13254a5f6ea8a52656f014f0160116c _pytest/main.py
--- a/_pytest/main.py
+++ b/_pytest/main.py
@@ -251,24 +251,6 @@
def teardown(self):
pass
- def _memoizedcall(self, attrname, function):
- exattrname = "_ex_" + attrname
- failure = getattr(self, exattrname, None)
- if failure is not None:
- py.builtin._reraise(failure[0], failure[1], failure[2])
- if hasattr(self, attrname):
- return getattr(self, attrname)
- try:
- res = function()
- except py.builtin._sysex:
- raise
- except:
- failure = py.std.sys.exc_info()
- setattr(self, exattrname, failure)
- raise
- setattr(self, attrname, res)
- return res
-
def listchain(self):
""" return list of all parent collectors up to self,
starting from root of collection tree. """
@@ -345,10 +327,6 @@
return str(exc.args[0])
return self._repr_failure_py(excinfo, style="short")
- def _memocollect(self):
- """ internal helper method to cache results of calling collect(). """
- return self._memoizedcall('_collected', lambda: list(self.collect()))
-
def _prunetraceback(self, excinfo):
if hasattr(self, 'fspath'):
path = self.fspath
diff -r 07e5a98aceca50ad07e99b226baf6dd9d84ce380 -r cfe628a3d13254a5f6ea8a52656f014f0160116c _pytest/python.py
--- a/_pytest/python.py
+++ b/_pytest/python.py
@@ -332,8 +332,12 @@
class Module(pytest.File, PyCollector):
""" Collector for test classes and functions. """
+ _obj = None
+
def _getobj(self):
- return self._memoizedcall('_obj', self._importtestmodule)
+ if self._obj is None:
+ self._obj = self._importtestmodule()
+ return _obj
def collect(self):
self.session.funcargmanager._parsefactories(self.obj, self.nodeid)
diff -r 07e5a98aceca50ad07e99b226baf6dd9d84ce380 -r cfe628a3d13254a5f6ea8a52656f014f0160116c _pytest/runner.py
--- a/_pytest/runner.py
+++ b/_pytest/runner.py
@@ -244,7 +244,7 @@
self.__dict__.update(extra)
def pytest_make_collect_report(collector):
- call = CallInfo(collector._memocollect, "memocollect")
+ call = CallInfo(lambda: list(collector.collect()), "collect")
longrepr = None
if not call.excinfo:
outcome = "passed"
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list