def resource_fix(request: FixtureRequest):
    print('\n * resource_fix(request: FixtureRequest)')

    def resource_release():
        print('\n * resource_release()')

    request.addfinalizer(resource_release)
Example #2
0
def _setup_fixtures(doctest_item):
    """
    Used by DoctestTextfile and DoctestItem to setup fixture information.
    """

    def func():
        pass

    doctest_item.funcargs = {}
    fm = doctest_item.session._fixturemanager
    doctest_item._fixtureinfo = fm.getfixtureinfo(node=doctest_item, func=func, cls=None, funcargs=False)
    fixture_request = FixtureRequest(doctest_item)
    fixture_request._fillfixtures()
    return fixture_request
Example #3
0
def _setup_fixtures(doctest_item):
    """
    Used by DoctestTextfile and DoctestItem to setup fixture information.
    """
    def func():
        pass

    doctest_item.funcargs = {}
    fm = doctest_item.session._fixturemanager
    doctest_item._fixtureinfo = fm.getfixtureinfo(node=doctest_item, func=func,
                                                  cls=None, funcargs=False)
    fixture_request = FixtureRequest(doctest_item)
    fixture_request._fillfixtures()
    return fixture_request
Example #4
0
 def runtest(self):
     doctest = py.std.doctest
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     fm = self.session._fixturemanager
     def func():
         pass
     self._fixtureinfo = fm.getfixtureinfo(node=self, func=func,
                                           cls=None, funcargs=False)
     fixture_request = FixtureRequest(self)
     fixture_request._fillfixtures()
     failed, tot = doctest.testfile(
         str(self.fspath), module_relative=False,
         optionflags=doctest.ELLIPSIS,
         extraglobs=dict(getfixture=fixture_request.getfuncargvalue),
         raise_on_error=True, verbose=0)
Example #5
0
 def collect(self):
     import doctest
     if self.fspath.basename == "conftest.py":
         module = self.config._conftest._importconftest(self.fspath)
     else:
         try:
             module = self.fspath.pyimport()
         except ImportError:
             if self.config.getvalue('doctest_ignore_import_errors'):
                 pytest.skip('unable to import module %r' % self.fspath)
             else:
                 raise
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     self._fixtureinfo = FuncFixtureInfo((), [], {})
     fixture_request = FixtureRequest(self)
     doctest_globals = dict(getfixture=fixture_request.getfuncargvalue)
     # uses internal doctest module parsing mechanism
     finder = doctest.DocTestFinder()
     optionflags = get_optionflags(self)
     runner = doctest.DebugRunner(verbose=0, optionflags=optionflags)
     for test in finder.find(module,
                             module.__name__,
                             extraglobs=doctest_globals):
         if test.examples:  # skip empty doctests
             yield DoctestItem(test.name, self, runner, test)
Example #6
0
 def runtest(self):
     import doctest
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     fm = self.session._fixturemanager
     def func():
         pass
     self._fixtureinfo = fm.getfixtureinfo(node=self, func=func,
                                           cls=None, funcargs=False)
     fixture_request = FixtureRequest(self)
     fixture_request._fillfixtures()
     failed, tot = doctest.testfile(
         str(self.fspath), module_relative=False,
         optionflags=get_optionflags(self),
         extraglobs=dict(getfixture=fixture_request.getfuncargvalue),
         raise_on_error=True, verbose=0)
Example #7
0
 def runtest(self):
     doctest = py.std.doctest
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     self._fixtureinfo = FuncFixtureInfo((), [], {})
     fixture_request = FixtureRequest(self)
     failed, tot = doctest.testfile(
         str(self.fspath),
         module_relative=False,
         optionflags=doctest.ELLIPSIS,
         extraglobs=dict(getfixture=fixture_request.getfuncargvalue),
         raise_on_error=True,
         verbose=0)
Example #8
0
 def runtest(self):
     doctest = py.std.doctest
     if self.fspath.basename == "conftest.py":
         module = self.config._conftest.importconftest(self.fspath)
     else:
         module = self.fspath.pyimport()
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     self._fixtureinfo = FuncFixtureInfo((), [], {})
     fixture_request = FixtureRequest(self)
     failed, tot = doctest.testmod(
         module,
         raise_on_error=True,
         verbose=0,
         extraglobs=dict(getfixture=fixture_request.getfuncargvalue),
         optionflags=doctest.ELLIPSIS)
Example #9
0
 def collect(self):
     import doctest
     if self.fspath.basename == "conftest.py":
         module = self.config._conftest.importconftest(self.fspath)
     else:
         module = self.fspath.pyimport()
     # satisfy `FixtureRequest` constructor...
     self.funcargs = {}
     self._fixtureinfo = FuncFixtureInfo((), [], {})
     fixture_request = FixtureRequest(self)
     doctest_globals = dict(getfixture=fixture_request.getfuncargvalue)
     # uses internal doctest module parsing mechanism
     finder = doctest.DocTestFinder()
     runner = doctest.DebugRunner(verbose=0, optionflags=doctest.ELLIPSIS)
     for test in finder.find(module,
                             module.__name__,
                             extraglobs=doctest_globals):
         if test.examples:  # skip empty doctests
             yield DoctestItem(test.name, self, runner, test)