This is a small bugfix release.
anis-campos/fix_is_pytest_fixture
: (#2) Astroid has different semantics when usingimport pytest
orfrom pytest import ...
, which affects the detection of pytest fixtures.
pre-commit
: (#20)- Added more checks to the
pre-commit
hook.repos: - repo: https://github.com/pre-commit/pre-commit-hooks hooks: - id: check-yaml - id: check-toml - id: check-vcs-permalinks - id: check-shebang-scripts-are-executable - id: name-tests-test - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt - id: yamlfmt - repo: local hooks: - id: python-no-log-fatal name: avoid logger.fatal(
- Unified formatting (always expanded arrays; not covered by linters, sadly)
- Added more checks to the
This is the first release after maintenance was assumed by https://github.com/stdedos.
The focus of this release was to improve automation:
- Fix the continuous integration,
- Run tests as part of branches and PRs,
- Use
.pre-commit-config.yaml
file to upkeep the code quality, and - Automate the release process
There should be no functional changes in this release, although there are changes in the source code.
A heartfelt thank you to https://github.com/Pierre-Sassoulas for his invaluable contributions to the continued maintenance of this project!
- The continuous integration was fixed, as a new maintenance team was assembled.
- Added an extensive
.pre-commit-config.yaml
file to upkeep the code quality. It includes, among others,black
,mypy
(in non-strict mode yet),ruff
, andpylint
. - Added an automated release process
- Redirected all repository URLs to the https://github.com/pylint-dev/pylint-pytest.
- Fix #18 plugin crash when test case is marked with a non-pytest.mark decorator
- Fix pytest fixture collection error on non-test modules
- W6402
useless-pytest-mark-decorator
: add warning for using pytest.mark on fixtures (thanks to @DKorytkin) - W6403
deprecated-positional-argument-for-pytest-fixture
: add warning for positional arguments to pytest.fixture() (thanks to @DKorytkin) - F6401
cannot-enumerate-pytest-fixtures
: add fatal error when the plugin cannot enumerate and collect pytest fixtures for analysis (#27)
- Fix #13 regression caused by mangling
sys.modules
- Fix pytest Module already imported so cannot be rewritten warning when the package being linted was used by pytest/conftest already (#10)
- Fix missing Python version constraint (#11)
- Suppressing FP
unused-import
when fixtures defined elsewhere are imported intoconftest.py
but not directly used (#2)
- Python 3.9 support
- Python 2.7 & 3.5 support
- Fix not able to work with
pytest-xdist
plugin when--dist loadfile
is set in configuration file (#5)
- W6401
deprecated-pytest-yield-fixture
: add warning for yield_fixture functions
- Fix incorrect path separator for Windows (#1)
- Suppressing FP
no-member
from using workaround of accessing cls in setup fixture
- Refactor plugin to group patches and augmentations
- Fix fixtures defined with
@pytest.yield_fixture
decorator still showing FP - Fix crashes when using fixture + if + inline import
- Fix crashes when relatively importing fixtures (
from ..conftest import fixture
)
- Fix crashes when
*args
or**kwargs
is used in FuncDef
- Suppressing FP
unused-import
with tests - Suppressing FP
unused-argument
with tests - Suppressing FP
redefined-outer-scope
with tests - Add CI/CD configuration with Travis CI