From 4608a470b0540bc9f90b5519990c82551e1ea328 Mon Sep 17 00:00:00 2001 From: Megan Wilhite Date: Fri, 17 Mar 2023 13:25:45 -0600 Subject: [PATCH] Migrate the package tests to use the main test dependencies --- .pre-commit-config.yaml | 29 --- noxfile.py | 13 +- pkg/tests/conftest.py | 12 +- pkg/tests/support/helpers.py | 12 +- requirements/static/ci/pkgtests-windows.in | 4 - requirements/static/ci/pkgtests.in | 3 - .../static/ci/py3.10/pkgtests-windows.txt | 168 ------------------ requirements/static/ci/py3.10/pkgtests.txt | 160 ----------------- 8 files changed, 13 insertions(+), 388 deletions(-) delete mode 100644 requirements/static/ci/pkgtests-windows.in delete mode 100644 requirements/static/ci/pkgtests.in delete mode 100644 requirements/static/ci/py3.10/pkgtests-windows.txt delete mode 100644 requirements/static/ci/py3.10/pkgtests.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7a97ad415a1..e235d12bdb0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 diff --git a/noxfile.py b/noxfile.py index 586b3231418..a2cddd986fe 100644 --- a/noxfile.py +++ b/noxfile.py @@ -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, diff --git a/pkg/tests/conftest.py b/pkg/tests/conftest.py index 407f5b334a6..efbf6ed70de 100644 --- a/pkg/tests/conftest.py +++ b/pkg/tests/conftest.py @@ -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-"), diff --git a/pkg/tests/support/helpers.py b/pkg/tests/support/helpers.py index 91b6bf0fb5e..7cc96fee175 100644 --- a/pkg/tests/support/helpers.py +++ b/pkg/tests/support/helpers.py @@ -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(): diff --git a/requirements/static/ci/pkgtests-windows.in b/requirements/static/ci/pkgtests-windows.in deleted file mode 100644 index 53cdcf3e5fc..00000000000 --- a/requirements/static/ci/pkgtests-windows.in +++ /dev/null @@ -1,4 +0,0 @@ -cherrypy -pytest-salt-factories==1.0.0rc17 -pythonnet==3.0.1 -wmi==1.5.1; sys_platform == 'win32' diff --git a/requirements/static/ci/pkgtests.in b/requirements/static/ci/pkgtests.in deleted file mode 100644 index d08dda215a0..00000000000 --- a/requirements/static/ci/pkgtests.in +++ /dev/null @@ -1,3 +0,0 @@ -cherrypy -pytest-salt-factories==1.0.0rc17 -docker diff --git a/requirements/static/ci/py3.10/pkgtests-windows.txt b/requirements/static/ci/py3.10/pkgtests-windows.txt deleted file mode 100644 index 3e6d0a345e3..00000000000 --- a/requirements/static/ci/py3.10/pkgtests-windows.txt +++ /dev/null @@ -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 diff --git a/requirements/static/ci/py3.10/pkgtests.txt b/requirements/static/ci/py3.10/pkgtests.txt deleted file mode 100644 index 3c6b9d2e2d8..00000000000 --- a/requirements/static/ci/py3.10/pkgtests.txt +++ /dev/null @@ -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