'Return the module collection node for ``source``.
This writes ``source`` to a file using :py:meth:`makepyfile`
and then runs the pytest collection on it, returning the
collection node for the test module.
:param source: The source code of the module to collect.
:param configargs: Any extra arguments to pass to
:py:meth:`parseconfigure`.
:param withinit: Whether to also write a ``__init__.py`` file
to the temporary directory to ensure it is a package.'

def getmodulecol(self, source, configargs=(), withinit=False):

    kw = {self.request.function.__name__: Source(source).strip()}
    path = self.makepyfile(**kw)
    if withinit:
        self.makepyfile(__init__='#')
    self.config = config = self.parseconfigure(path, *configargs)
    node = self.getnode(config, path)
    return node
