Migrate the package tests to use the main test dependencies

This commit is contained in:
Megan Wilhite 2023-03-17 13:25:45 -06:00 committed by Pedro Algarvio
parent a6cf0b7570
commit 4608a470b0
8 changed files with 13 additions and 388 deletions

View file

@ -970,35 +970,6 @@ repos:
- requirements/static/ci/invoke.in
# <---- Invoke -----------------------------------------------------------------------------------------------------
# <---- PKG ci requirements-----------------------------------------------------------------------------------------
- id: pip-tools-compile
alias: compile-ci-pkg-3.10-requirements
name: PKG tests CI Py3.10 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests|common)\.in|py3\.10/pkgtests\.in)))$
pass_filenames: false
args:
- -v
- --py-version=3.10
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- requirements/static/ci/pkgtests.in
- id: pip-tools-compile
alias: compile-ci-windows-pkg-3.10-requirements
name: PKG tests Windows CI Py3.10 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((pkgtests-windows|common)\.in|py3\.10/pkgtests-windows\.in)))$
pass_filenames: false
args:
- -v
- --py-version=3.10
- --platform=windows
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- requirements/static/ci/pkgtests-windows.in
# <---- PKG ci requirements-----------------------------------------------------------------------------------------
# ----- Tools ---------------------------------------------------------------------------------------------------->
- id: pip-tools-compile

View file

@ -1877,18 +1877,7 @@ def test_pkgs_onedir(session):
# Install requirements
if _upgrade_pip_setuptools_and_wheel(session, onedir=True):
if IS_WINDOWS:
file_name = "pkgtests-windows.txt"
else:
file_name = "pkgtests.txt"
requirements_file = os.path.join(
"requirements", "static", "ci", pydir, file_name
)
install_command = ["--progress-bar=off", "-r", requirements_file]
session.install(*install_command, silent=PIP_INSTALL_SILENT)
_install_requirements(session, "zeromq")
env = {
"ONEDIR_TESTRUN": "1",
"PKG_TEST_TYPE": chunk,

View file

@ -76,7 +76,7 @@ def pytest_addoption(parser):
"""
test_selection_group = parser.getgroup("Tests Runtime Selection")
test_selection_group.addoption(
"--system-service",
"--pkg-system-service",
default=False,
action="store_true",
help="Run the daemons as system services",
@ -148,7 +148,7 @@ def pytest_runtest_setup(item):
@pytest.fixture(scope="session")
def salt_factories_root_dir(request, tmp_path_factory):
root_dir = SaltPkgInstall.salt_factories_root_dir(
request.config.getoption("--system-service")
request.config.getoption("--pkg-system-service")
)
if root_dir is not None:
yield root_dir
@ -169,7 +169,7 @@ def salt_factories_config(salt_factories_root_dir):
return {
"code_dir": CODE_DIR,
"root_dir": salt_factories_root_dir,
"system_install": True,
"system_service": True,
}
@ -177,7 +177,7 @@ def salt_factories_config(salt_factories_root_dir):
def install_salt(request, salt_factories_root_dir):
with SaltPkgInstall(
conf_dir=salt_factories_root_dir / "etc" / "salt",
system_service=request.config.getoption("--system-service"),
pkg_system_service=request.config.getoption("--pkg-system-service"),
upgrade=request.config.getoption("--upgrade"),
downgrade=request.config.getoption("--downgrade"),
no_uninstall=request.config.getoption("--no-uninstall"),
@ -391,7 +391,7 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
master_script = False
if master_script:
salt_factories.system_install = False
salt_factories.system_service = False
scripts_dir = salt_factories.root_dir / "Scripts"
scripts_dir.mkdir(exist_ok=True)
salt_factories.scripts_dir = scripts_dir
@ -409,7 +409,7 @@ def salt_master(salt_factories, install_salt, state_tree, pillar_tree):
salt_pkg_install=install_salt,
python_executable=python_executable,
)
salt_factories.system_install = True
salt_factories.system_service = True
else:
factory = salt_factories.salt_master_daemon(
random_string("master-"),

View file

@ -50,8 +50,8 @@ log = logging.getLogger(__name__)
@attr.s(kw_only=True, slots=True)
class SaltPkgInstall:
pkg_system_service: bool = attr.ib(default=False)
proc: Subprocess = attr.ib(init=False, repr=False)
system_service: bool = attr.ib(default=False)
# Paths
root: pathlib.Path = attr.ib(default=None)
@ -679,7 +679,7 @@ class SaltPkgInstall:
ret = self.proc.run(str(self.ssm_bin), "remove", "salt-minion", "confirm")
self._check_retcode(ret)
if self.system_service:
if self.pkg_system_service:
self._install_system_service()
elif platform.is_darwin():
@ -1234,7 +1234,7 @@ class PkgMixin:
@attr.s(kw_only=True)
class DaemonPkgMixin(PkgMixin):
def __attrs_post_init__(self):
if not platform.is_windows() and self.salt_pkg_install.system_service:
if not platform.is_windows() and self.salt_pkg_install.pkg_system_service:
if platform.is_darwin():
self.write_launchd_conf()
else:
@ -1262,7 +1262,7 @@ class SaltMaster(DaemonPkgMixin, master.SaltMaster):
DaemonPkgMixin.__attrs_post_init__(self)
def _get_impl_class(self):
if self.system_install and self.salt_pkg_install.system_service:
if self.system_service and self.salt_pkg_install.pkg_system_service:
if platform.is_windows():
return PkgSsmSaltDaemonImpl
if platform.is_darwin():
@ -1343,7 +1343,7 @@ class SaltMinion(DaemonPkgMixin, minion.SaltMinion):
DaemonPkgMixin.__attrs_post_init__(self)
def _get_impl_class(self):
if self.system_install and self.salt_pkg_install.system_service:
if self.system_service and self.salt_pkg_install.pkg_system_service:
if platform.is_windows():
return PkgSsmSaltDaemonImpl
if platform.is_darwin():
@ -1379,7 +1379,7 @@ class SaltApi(DaemonPkgMixin, api.SaltApi):
DaemonPkgMixin.__attrs_post_init__(self)
def _get_impl_class(self):
if self.system_install and self.salt_pkg_install.system_service:
if self.system_service and self.salt_pkg_install.pkg_system_service:
if platform.is_windows():
return PkgSsmSaltDaemonImpl
if platform.is_darwin():

View file

@ -1,4 +0,0 @@
cherrypy
pytest-salt-factories==1.0.0rc17
pythonnet==3.0.1
wmi==1.5.1; sys_platform == 'win32'

View file

@ -1,3 +0,0 @@
cherrypy
pytest-salt-factories==1.0.0rc17
docker

View file

@ -1,168 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.10/pkgtests-windows.txt requirements/base.txt requirements/static/ci/pkgtests-windows.in requirements/zeromq.txt
#
attrs==22.2.0
# via
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
autocommand==2.2.2
# via jaraco.text
certifi==2023.07.22
# via requests
cffi==1.15.1
# via clr-loader
charset-normalizer==3.0.1
# via requests
cheroot==9.0.0
# via cherrypy
cherrypy==18.8.0
# via -r requirements/static/ci/pkgtests-windows.in
clr-loader==0.2.5
# via pythonnet
colorama==0.4.6
# via pytest
contextvars==2.4
# via -r requirements/base.txt
distlib==0.3.6
# via virtualenv
distro==1.8.0
# via
# -r requirements/base.txt
# pytest-skip-markers
exceptiongroup==1.1.0
# via pytest
filelock==3.9.0
# via virtualenv
idna==3.4
# via requests
immutables==0.19
# via contextvars
inflect==6.0.2
# via jaraco.text
iniconfig==2.0.0
# via pytest
jaraco.classes==3.2.3
# via jaraco.collections
jaraco.collections==3.8.0
# via cherrypy
jaraco.context==4.3.0
# via jaraco.text
jaraco.functools==3.5.2
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.11.1
# via jaraco.collections
jinja2==3.1.2
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.3
# via -r requirements/base.txt
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
more-itertools==9.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
# jaraco.text
msgpack==1.0.4
# via
# -r requirements/base.txt
# pytest-salt-factories
packaging==23.0
# via
# -r requirements/base.txt
# pytest
platformdirs==2.6.2
# via virtualenv
pluggy==1.0.0
# via pytest
portend==3.1.0
# via cherrypy
psutil==5.9.4
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pycparser==2.21
# via cffi
pycryptodomex==3.17
# via -r requirements/crypto.txt
pydantic==1.10.4
# via inflect
pytest-helpers-namespace==2021.12.29
# via
# pytest-salt-factories
# pytest-shell-utilities
pytest-salt-factories==1.0.0rc17
# via -r requirements/static/ci/pkgtests-windows.in
pytest-shell-utilities==1.8.0
# via pytest-salt-factories
pytest-skip-markers==1.4.1
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via pytest-salt-factories
pytest==7.2.1
# via
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
# pytest-tempdir
pythonnet==3.0.1
# via -r requirements/static/ci/pkgtests-windows.in
pytz==2022.7.1
# via tempora
pywin32==305
# via
# pytest-skip-markers
# wmi
pyyaml==6.0.1
# via -r requirements/base.txt
pyzmq==25.0.2 ; sys_platform == "win32"
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
requests==2.31.0
# via -r requirements/base.txt
six==1.16.0
# via cheroot
tempora==5.2.1
# via portend
tomli==2.0.1
# via pytest
typing-extensions==4.4.0
# via
# pydantic
# pytest-shell-utilities
# pytest-system-statistics
urllib3==1.26.14
# via requests
virtualenv==20.18.0
# via pytest-salt-factories
wmi==1.5.1 ; sys_platform == "win32"
# via -r requirements/static/ci/pkgtests-windows.in
zc.lockfile==2.0
# via cherrypy
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,160 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.10/pkgtests.txt requirements/base.txt requirements/static/ci/pkgtests.in requirements/zeromq.txt
#
attrs==22.2.0
# via
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
autocommand==2.2.2
# via jaraco.text
certifi==2023.07.22
# via requests
charset-normalizer==3.0.1
# via requests
cheroot==9.0.0
# via cherrypy
cherrypy==18.8.0
# via -r requirements/static/ci/pkgtests.in
contextvars==2.4
# via -r requirements/base.txt
distlib==0.3.6
# via virtualenv
distro==1.8.0
# via
# -r requirements/base.txt
# pytest-skip-markers
docker==6.1.3
# via -r requirements/static/ci/pkgtests.in
exceptiongroup==1.1.0
# via pytest
filelock==3.9.0
# via virtualenv
idna==3.4
# via requests
immutables==0.19
# via contextvars
inflect==6.0.2
# via jaraco.text
iniconfig==2.0.0
# via pytest
jaraco.classes==3.2.3
# via jaraco.collections
jaraco.collections==3.8.0
# via cherrypy
jaraco.context==4.2.0
# via jaraco.text
jaraco.functools==3.5.2
# via
# cheroot
# jaraco.text
jaraco.text==3.11.0
# via jaraco.collections
jinja2==3.1.2
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.3
# via -r requirements/base.txt
markupsafe==2.1.1
# via
# -r requirements/base.txt
# jinja2
more-itertools==9.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
# jaraco.text
msgpack==1.0.4
# via
# -r requirements/base.txt
# pytest-salt-factories
packaging==23.0
# via
# -r requirements/base.txt
# docker
# pytest
platformdirs==2.6.2
# via virtualenv
pluggy==1.0.0
# via pytest
portend==3.1.0
# via cherrypy
psutil==5.9.4
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pycryptodomex==3.16.0
# via -r requirements/crypto.txt
pydantic==1.10.4
# via inflect
pytest-helpers-namespace==2021.12.29
# via
# pytest-salt-factories
# pytest-shell-utilities
pytest-salt-factories==1.0.0rc17
# via -r requirements/static/ci/pkgtests.in
pytest-shell-utilities==1.8.0
# via pytest-salt-factories
pytest-skip-markers==1.4.1
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via pytest-salt-factories
pytest==7.2.1
# via
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
# pytest-tempdir
pytz==2022.7.1
# via tempora
pyyaml==6.0.1
# via -r requirements/base.txt
pyzmq==25.0.2
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
requests==2.31.0
# via
# -r requirements/base.txt
# docker
six==1.16.0
# via cheroot
tempora==5.2.0
# via portend
tomli==2.0.1
# via pytest
typing-extensions==4.4.0
# via
# pydantic
# pytest-shell-utilities
# pytest-system-statistics
urllib3==1.26.14
# via
# docker
# requests
virtualenv==20.17.1
# via pytest-salt-factories
websocket-client==1.5.1
# via docker
zc.lockfile==2.0
# via cherrypy
# The following packages are considered to be unsafe in a requirements file:
# setuptools