mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Update noxfile.py
to work with upstream nox
This commit is contained in:
parent
39e74066d0
commit
16551e45fe
2 changed files with 166 additions and 38 deletions
1
changelog/57583.fixed
Normal file
1
changelog/57583.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Allow running nox sessions either using our `nox-py2 fork <https://github.com/s0undt3ch/nox/tree/hotfix/py2-release>`_ or upstream `nox <https://github.com/theacodes/nox>`_.
|
203
noxfile.py
203
noxfile.py
|
@ -68,6 +68,28 @@ RUNTESTS_LOGFILE = os.path.join(
|
|||
os.environ[str("PYTHONDONTWRITEBYTECODE")] = str("1")
|
||||
|
||||
|
||||
def find_session_runner(session, name, **kwargs):
|
||||
for s, _ in session._runner.manifest.list_all_sessions():
|
||||
if name not in s.signatures:
|
||||
continue
|
||||
for signature in s.signatures:
|
||||
for key, value in kwargs.items():
|
||||
param = "{}={!r}".format(key, value)
|
||||
if IS_PY3:
|
||||
# Under Python2 repr unicode string are always "u" prefixed, ie, u'a string'.
|
||||
param = param.replace("u'", "'")
|
||||
if param not in signature:
|
||||
break
|
||||
else:
|
||||
return s
|
||||
continue
|
||||
session.error(
|
||||
"Could not find a nox session by the name {!r} with the following keyword arguments: {!r}".format(
|
||||
name, kwargs
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def _create_ci_directories():
|
||||
for dirname in ("logs", "coverage", "xml-unittests-output"):
|
||||
path = os.path.join("artifacts", dirname)
|
||||
|
@ -415,6 +437,9 @@ def _runtests(session, coverage, cmd_args):
|
|||
@nox.parametrize("transport", ["zeromq", "tcp"])
|
||||
@nox.parametrize("crypto", [None, "m2crypto", "pycryptodome"])
|
||||
def runtests_parametrized(session, coverage, transport, crypto):
|
||||
"""
|
||||
DO NOT CALL THIS NOX SESSION DIRECTLY
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, transport, "unittest-xml-reporting==2.5.2")
|
||||
|
||||
|
@ -451,8 +476,12 @@ def runtests(session, coverage):
|
|||
runtests.py session with zeromq transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto=None, transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -464,8 +493,12 @@ def runtests_tcp(session, coverage):
|
|||
runtests.py session with TCP transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto=None, transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="tcp",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -477,8 +510,12 @@ def runtests_zeromq(session, coverage):
|
|||
runtests.py session with zeromq transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto=None, transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -490,8 +527,12 @@ def runtests_m2crypto(session, coverage):
|
|||
runtests.py session with zeromq transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='m2crypto', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -503,8 +544,12 @@ def runtests_tcp_m2crypto(session, coverage):
|
|||
runtests.py session with TCP transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='m2crypto', transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="tco",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -516,8 +561,12 @@ def runtests_zeromq_m2crypto(session, coverage):
|
|||
runtests.py session with zeromq transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='m2crypto', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -529,8 +578,12 @@ def runtests_pycryptodome(session, coverage):
|
|||
runtests.py session with zeromq transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='pycryptodome', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -542,8 +595,12 @@ def runtests_tcp_pycryptodome(session, coverage):
|
|||
runtests.py session with TCP transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='pycryptodome', transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="tcp",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -555,8 +612,12 @@ def runtests_zeromq_pycryptodome(session, coverage):
|
|||
runtests.py session with zeromq transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"runtests-parametrized-{}(coverage={}, crypto='pycryptodome', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"runtests-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -564,6 +625,9 @@ def runtests_zeromq_pycryptodome(session, coverage):
|
|||
@nox.session(python=_PYTHON_VERSIONS, name="runtests-cloud")
|
||||
@nox.parametrize("coverage", [False, True])
|
||||
def runtests_cloud(session, coverage):
|
||||
"""
|
||||
runtests.py cloud tests session
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, "zeromq", "unittest-xml-reporting==2.2.1")
|
||||
|
||||
|
@ -584,6 +648,9 @@ def runtests_cloud(session, coverage):
|
|||
@nox.session(python=_PYTHON_VERSIONS, name="runtests-tornado")
|
||||
@nox.parametrize("coverage", [False, True])
|
||||
def runtests_tornado(session, coverage):
|
||||
"""
|
||||
runtests.py tornado tests session
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, "zeromq", "unittest-xml-reporting==2.2.1")
|
||||
session.install("--progress-bar=off", "tornado==5.0.2", silent=PIP_INSTALL_SILENT)
|
||||
|
@ -598,6 +665,9 @@ def runtests_tornado(session, coverage):
|
|||
@nox.parametrize("transport", ["zeromq", "tcp"])
|
||||
@nox.parametrize("crypto", [None, "m2crypto", "pycryptodome"])
|
||||
def pytest_parametrized(session, coverage, transport, crypto):
|
||||
"""
|
||||
DO NOT CALL THIS NOX SESSION DIRECTLY
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, transport)
|
||||
|
||||
|
@ -640,8 +710,12 @@ def pytest(session, coverage):
|
|||
pytest session with zeromq transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto=None, transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -653,8 +727,12 @@ def pytest_tcp(session, coverage):
|
|||
pytest session with TCP transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto=None, transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="tcp",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -666,8 +744,12 @@ def pytest_zeromq(session, coverage):
|
|||
pytest session with zeromq transport and default crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto=None, transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto=None,
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -679,8 +761,12 @@ def pytest_m2crypto(session, coverage):
|
|||
pytest session with zeromq transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='m2crypto', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -692,8 +778,12 @@ def pytest_tcp_m2crypto(session, coverage):
|
|||
pytest session with TCP transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='m2crypto', transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="tcp",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -705,8 +795,12 @@ def pytest_zeromq_m2crypto(session, coverage):
|
|||
pytest session with zeromq transport and m2crypto
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='m2crypto', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="m2crypto",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -718,8 +812,12 @@ def pytest_pycryptodome(session, coverage):
|
|||
pytest session with zeromq transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='pycryptodome', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -731,8 +829,12 @@ def pytest_tcp_pycryptodome(session, coverage):
|
|||
pytest session with TCP transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='pycryptodome', transport='tcp')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="tcp",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -744,8 +846,12 @@ def pytest_zeromq_pycryptodome(session, coverage):
|
|||
pytest session with zeromq transport and pycryptodome
|
||||
"""
|
||||
session.notify(
|
||||
"pytest-parametrized-{}(coverage={}, crypto='pycryptodome', transport='zeromq')".format(
|
||||
session.python, coverage
|
||||
find_session_runner(
|
||||
session,
|
||||
"pytest-parametrized-{}".format(session.python),
|
||||
coverage=coverage,
|
||||
crypto="pycryptodome",
|
||||
transport="zeromq",
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -753,6 +859,9 @@ def pytest_zeromq_pycryptodome(session, coverage):
|
|||
@nox.session(python=_PYTHON_VERSIONS, name="pytest-cloud")
|
||||
@nox.parametrize("coverage", [False, True])
|
||||
def pytest_cloud(session, coverage):
|
||||
"""
|
||||
pytest cloud tests session
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, "zeromq")
|
||||
requirements_file = os.path.join(
|
||||
|
@ -780,6 +889,9 @@ def pytest_cloud(session, coverage):
|
|||
@nox.session(python=_PYTHON_VERSIONS, name="pytest-tornado")
|
||||
@nox.parametrize("coverage", [False, True])
|
||||
def pytest_tornado(session, coverage):
|
||||
"""
|
||||
pytest tornado tests session
|
||||
"""
|
||||
# Install requirements
|
||||
_install_requirements(session, "zeromq")
|
||||
session.install("--progress-bar=off", "tornado==5.0.2", silent=PIP_INSTALL_SILENT)
|
||||
|
@ -1012,8 +1124,15 @@ def docs(session, compress, update):
|
|||
"""
|
||||
Build Salt's Documentation
|
||||
"""
|
||||
session.notify("docs-html(compress={})".format(compress))
|
||||
session.notify("docs-man(compress={}, update={})".format(compress, update))
|
||||
session.notify("docs-html-{}(compress={})".format(session.python, compress))
|
||||
session.notify(
|
||||
find_session_runner(
|
||||
session,
|
||||
"docs-man-{}".format(session.python),
|
||||
compress=compress,
|
||||
update=update,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@nox.session(name="docs-html", python="3")
|
||||
|
@ -1089,11 +1208,19 @@ def _invoke(session):
|
|||
|
||||
@nox.session(name="invoke", python="3")
|
||||
def invoke(session):
|
||||
"""
|
||||
Run an invoke target
|
||||
"""
|
||||
_invoke(session)
|
||||
|
||||
|
||||
@nox.session(name="invoke-pre-commit", python="3")
|
||||
def invoke_pre_commit(session):
|
||||
"""
|
||||
DO NOT CALL THIS NOX SESSION DIRECTLY
|
||||
|
||||
This session is called from a pre-commit hook
|
||||
"""
|
||||
if "VIRTUAL_ENV" not in os.environ:
|
||||
session.error(
|
||||
"This should be running from within a virtualenv and "
|
||||
|
|
Loading…
Add table
Reference in a new issue