refactor common config/session protocol code for main() functions
This commit is contained in:
parent
f684a9ed56
commit
0a7237b72f
|
@ -54,16 +54,14 @@ def pytest_configure(config):
|
||||||
if config.option.exitfirst:
|
if config.option.exitfirst:
|
||||||
config.option.maxfail = 1
|
config.option.maxfail = 1
|
||||||
|
|
||||||
def pytest_cmdline_main(config):
|
def wrap_session(config, doit):
|
||||||
""" default command line protocol for initialization, session,
|
"""Skeleton command line program"""
|
||||||
running tests and reporting. """
|
|
||||||
session = Session(config)
|
session = Session(config)
|
||||||
session.exitstatus = EXIT_OK
|
session.exitstatus = EXIT_OK
|
||||||
try:
|
try:
|
||||||
config.pluginmanager.do_configure(config)
|
config.pluginmanager.do_configure(config)
|
||||||
config.hook.pytest_sessionstart(session=session)
|
config.hook.pytest_sessionstart(session=session)
|
||||||
config.hook.pytest_collection(session=session)
|
doit(config, session)
|
||||||
config.hook.pytest_runtestloop(session=session)
|
|
||||||
except pytest.UsageError:
|
except pytest.UsageError:
|
||||||
raise
|
raise
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
@ -83,6 +81,15 @@ def pytest_cmdline_main(config):
|
||||||
config.pluginmanager.do_unconfigure(config)
|
config.pluginmanager.do_unconfigure(config)
|
||||||
return session.exitstatus
|
return session.exitstatus
|
||||||
|
|
||||||
|
def pytest_cmdline_main(config):
|
||||||
|
return wrap_session(config, _main)
|
||||||
|
|
||||||
|
def _main(config, session):
|
||||||
|
""" default command line protocol for initialization, session,
|
||||||
|
running tests and reporting. """
|
||||||
|
config.hook.pytest_collection(session=session)
|
||||||
|
config.hook.pytest_runtestloop(session=session)
|
||||||
|
|
||||||
def pytest_collection(session):
|
def pytest_collection(session):
|
||||||
session.perform_collect()
|
session.perform_collect()
|
||||||
hook = session.config.hook
|
hook = session.config.hook
|
||||||
|
|
|
@ -754,8 +754,10 @@ class FuncargRequest:
|
||||||
raise self.LookupError(msg)
|
raise self.LookupError(msg)
|
||||||
|
|
||||||
def showfuncargs(config):
|
def showfuncargs(config):
|
||||||
from _pytest.main import Session
|
from _pytest.main import wrap_session
|
||||||
session = Session(config)
|
return wrap_session(config, _showfuncargs_main)
|
||||||
|
|
||||||
|
def _showfuncargs_main(config, session):
|
||||||
session.perform_collect()
|
session.perform_collect()
|
||||||
if session.items:
|
if session.items:
|
||||||
plugins = session.items[0].getplugins()
|
plugins = session.items[0].getplugins()
|
||||||
|
|
Loading…
Reference in New Issue