From 4613bf2cfe9ba1a7c568f2aa4ef67b1cdf395609 Mon Sep 17 00:00:00 2001 From: Carson Gee Date: Thu, 5 Oct 2023 20:57:24 -0600 Subject: [PATCH] Dropped older pylint and pytest dependencies --- pytest_pylint/plugin.py | 29 +++++++++++------------------ setup.py | 2 +- tox.ini | 13 +++++-------- 3 files changed, 17 insertions(+), 27 deletions(-) diff --git a/pytest_pylint/plugin.py b/pytest_pylint/plugin.py index a5c1b0a..86d343f 100644 --- a/pytest_pylint/plugin.py +++ b/pytest_pylint/plugin.py @@ -105,14 +105,7 @@ def pytest_configure(self, config): if config.option.pylint_rcfile: pylintrc_file = config.option.pylint_rcfile else: - # handling files apart from pylintrc was only introduced in pylint - # 2.5, if we can't use find_default_config_files(), fall back on PYLINTRC - # once we drop support below 2.5 we can get rid of this - try: - pylintrc_file = next(pylint_config.find_default_config_files(), None) - except AttributeError: - # pylint: disable=no-member - pylintrc_file = pylint_config.PYLINTRC + pylintrc_file = next(pylint_config.find_default_config_files(), None) if pylintrc_file and not exists(pylintrc_file): # The directory of pytest.ini got a chance @@ -226,11 +219,11 @@ def pytest_collect_file(self, path, parent): if path.ext != ".py": return None - rel_path = get_rel_path(path.strpath, parent.session.fspath.strpath) + rel_path = get_rel_path(path.strpath, str(parent.session.path)) if should_include_file( rel_path, self.pylint_ignore, self.pylint_ignore_patterns ): - item = PylintFile.from_parent(parent, fspath=path, plugin=self) + item = PylintFile.from_parent(parent, path=Path(path), plugin=self) else: return None @@ -305,15 +298,15 @@ class PylintFile(pytest.File): mtime = None # : float @classmethod - def from_parent(cls, parent, *, fspath, plugin): + def from_parent(cls, parent, *, path, plugin, **kw): + # pylint: disable=arguments-differ # We add the ``plugin`` kwarg to get plugin level information so the # signature differs - # pylint: disable=arguments-differ - _self = getattr(super(), "from_parent", cls)(parent, fspath=fspath) + _self = getattr(super(), "from_parent", cls)(parent, path=path, **kw) _self.plugin = plugin - _self.rel_path = get_rel_path(fspath.strpath, parent.session.fspath.strpath) - _self.mtime = fspath.mtime() + _self.rel_path = get_rel_path(str(path), str(parent.session.path)) + _self.mtime = path.stat().st_mtime prev_mtime = _self.plugin.mtimes.get(_self.rel_path, 0) _self.should_skip = prev_mtime == _self.mtime @@ -330,8 +323,8 @@ class PyLintItem(pytest.Item): parent = None # : PylintFile plugin = None # : PylintPlugin - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + def __init__(self, *args, **kw): + super().__init__(*args, **kw) self.add_marker(MARKER) self.plugin = self.parent.plugin @@ -393,4 +386,4 @@ def repr_failure(self, excinfo, style=None): def reportinfo(self): """Generate our test report""" # pylint: disable=no-member - return self.fspath, None, f"[pylint] {self.parent.rel_path}" + return self.path, None, f"[pylint] {self.parent.rel_path}" diff --git a/setup.py b/setup.py index de7dba0..1c4d25d 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ packages=["pytest_pylint"], entry_points={"pytest11": ["pylint = pytest_pylint.plugin"]}, python_requires=">=3.7", - install_requires=["pytest>=5.4,<8.0", "pylint>=2.3.0", "toml>=0.7.1"], + install_requires=["pytest>=7.0", "pylint>=2.13.0", "toml>=0.7.1"], setup_requires=["pytest-runner"], tests_require=["coverage", "flake8", "black", "isort"], classifiers=[ diff --git a/tox.ini b/tox.ini index 4fe59f6..fc98e58 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,8 @@ [tox] envlist = - py3{8, 9}-pylint{26, 30}-pytest{54} - py3{8, 9, 10}-pylint{213, 214, 30}-pytest{71} - py3{8, 9, 10, 11}-pylint{215, latest, main}-pytest{71, latest} - py3{12}-pylint{latest, main}-pytest{71, latest} + py3{8, 9, 10}-pylint{213, 30}-pytest{7} + py3{8, 9, 10, 11}-pylint{213, latest, main}-pytest{7, latest, main} + py3{12}-pylint{latest, main}-pytest{7, latest, main} coverage qa skip_missing_interpreters = true @@ -11,15 +10,13 @@ skip_missing_interpreters = true [testenv] usedevelop = true deps = - pylint30: pylint~=3.0 - pylint26: pylint~=2.6.0 pylint213: pylint~=2.13.9 pylint214: pylint~=2.14.5 - pylint215: pylint~=2.15.0 + pylint30: pylint~=3.0 pylintlatest: pylint pylintmain: git+https://github.com/PyCQA/pylint.git@main#egg=pylint pylintmain: git+https://github.com/PyCQA/astroid.git@main#egg=astroid - pytest7: pytest~=7.1.2 + pytest7: pytest~=7.0.0 pytestlatest: pytest pytestmain: git+https://github.com/pytest-dev/pytest.git@main#egg=pytest coverage