summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pyreverse - Add project modules to sys.path (#4856)Mark Byrne2021-10-175-27/+57
| | | | | | | | | | | | | | | * pyreverse - Add project modules to sys.path - Use the fix_import_path context manager in the existing pyreverse tests - Style refactor: - Use a constant for the path - Move the constants closer to the top of the module - Add a test for the fix_import_path context manager to ensure the project root directory is in sys.path - Prevent re-defining from outer scope - Add a type-hint & docstrings Closes #2479
* From Python 3.8 onwards classes inheriting from dict are reversible (#5169)Tim Martin2021-10-177-12/+37
| | | | | | | | | | | * From Python 3.8 onwards classes inheriting from dict are reversible This generalises an earlier change to the bad-reversed-sequence checker in Python 3.8 onwards: dicts were already being treated as reversible, but so should any class inheriting from dict. Fixes #4981 Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Add a warning ``use-implicit-booleaness-not-comparison`` for comparison with ↵Jaehoon Hwang2021-10-1719-64/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | collection literals (#5120) * Create a new checker; use-implicit-booleanness checker where it looks for boolean evaluatiion with collection literals such as `()`, `[]`, or `{}` * Fixed invalid usage of comparison within pylint package This closes #4774 * Ignore tuples when checking for `literal-comparison` Closes #3031 * Merge len_checker with empty_literal checker Moving empty literal checker with len_checker to avoid class without iterators without boolean expressions (false positive on pandas) Reference: https://github.com/PyCQA/pylint/pull/3821/files * Update `len_checker` and its class `LenChecker` to `ComparisonChecker` to reflect better usage after merging between `len_checker` and `empty_literal_checker` and its tests. * Fixed `consider_using_in` and `consider_iterating_dictionary` tests that were failing due to new empty literal checkers. Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Consider Enums when checking for duplicate dictionary keys (#5155)jaydesl2021-10-165-6/+31
| | | | | * detect duplicate-key for enum members Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Fix py-version usage in typing extension tests (#5161)Marc Mueller2021-10-156-8/+8
|
* Use py-version for alternative union syntax check (#5160)Marc Mueller2021-10-156-5/+17
|
* Make ``undefined-variable`` flag type annotation without value assignment ↵Daniël van Noord2021-10-155-32/+96
| | | | | | | (#5158) Closes #5140 Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Improve documentation of ``docparams`` extension and fix tests (#5095)Daniël van Noord2021-10-142-1/+86
| | | This closes #4136
* Use ``MessageLocationTuple`` in ``_add_one_message``Daniël van Noord2021-10-131-2/+4
|
* Create new ``UnsupportedVersionChecker`` checker class (#5148)Daniël van Noord2021-10-134-17/+59
| | | Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* [pre-commit.ci] pre-commit autoupdate (#5145)pre-commit-ci[bot]2021-10-121-2/+2
| | | | | | | updates: - [github.com/PyCQA/flake8: 3.9.2 → 4.0.1](https://github.com/PyCQA/flake8/compare/3.9.2...4.0.1) - [github.com/pre-commit/mirrors-mypy: v0.910 → v0.910-1](https://github.com/pre-commit/mirrors-mypy/compare/v0.910...v0.910-1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Bump flake8 from 3.9.2 to 4.0.1 (#5142)dependabot[bot]2021-10-111-1/+1
| | | | | | | | | | | | | | | | Bumps [flake8](https://github.com/pycqa/flake8) from 3.9.2 to 4.0.1. - [Release notes](https://github.com/pycqa/flake8/releases) - [Commits](https://github.com/pycqa/flake8/compare/3.9.2...4.0.1) --- updated-dependencies: - dependency-name: flake8 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update tbump requirement from ~=6.4.0 to ~=6.4.1 (#5143)dependabot[bot]2021-10-111-1/+1
| | | | | | | | | | | | | | | | Updates the requirements on [tbump](https://github.com/dmerejkowsky/tbump) to permit the latest version. - [Release notes](https://github.com/dmerejkowsky/tbump/releases) - [Changelog](https://github.com/dmerejkowsky/tbump/blob/main/Changelog.rst) - [Commits](https://github.com/dmerejkowsky/tbump/compare/v6.4.0...v6.4.1) --- updated-dependencies: - dependency-name: tbump dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump python-docs-theme from 2021.8 to 2021.11.1 (#5141)dependabot[bot]2021-10-111-1/+1
| | | | | | | | | | | | | | | | | Bumps [python-docs-theme](https://github.com/python/python-docs-theme) from 2021.8 to 2021.11.1. - [Release notes](https://github.com/python/python-docs-theme/releases) - [Changelog](https://github.com/python/python-docs-theme/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python/python-docs-theme/compare/2021.8...2021.11.1) --- updated-dependencies: - dependency-name: python-docs-theme dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add ``using-f-string-in-unsupported-version`` checker (#5139)Daniël van Noord2021-10-116-0/+31
| | | Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Remove calls to ``os.linesep`` and add misc. typingDaniël van Noord2021-10-102-4/+4
|
* Properly identify undocumented parameters and add new message called ↵Konstantina Saketou2021-10-1012-33/+199
| | | | | | | | | | | | | | | | | | | missing-any-param-doc (#5097) * Correctly identify parameters with no doc and add new message This commit fixes the problem where non documented parameters where not being identified properly. Also, it adds a new message called ``missing-any-param-doc`` for when a function has no parameter and type doc at all. Adds new test cases for the ``missing-param-doc`` and ``missing-type-doc`` messages and tests for the new message ``missing-any-param-doc``. * Replace old messages with the new one where needed Fix pylint's code where the new message where needed in other files instead of triggering both missing-param-doc and missing-type-doc. Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Move message adding functions from ``MessagesHandlerMixIn``Daniël van Noord2021-10-103-208/+226
|
* Add checkers for typing.final for Python version 3.8 or later (#5133)Mark Byrne2021-10-109-0/+86
| | | | | | | | * Add checkers for typing.final for Python version 3.8 or later - overridden-final-method - subclassed-final-class Closes #3197
* Rename `len-as-condition` to `use-implicit-booleaness-not-len` (#5132)Jaehoon Hwang2021-10-109-67/+89
| | | | | | | | | | Rename `len-as-condition` to be more general for new checker `use-implicit-booleaness-not-comparison` * Refactor `LenChecker` class -> `ImplicitBooleanessChecker`o * Rename test files/`len_checker.py`/`__init__.py` to reflect new name. * Add `len-as-condition` as `old_names` for `use-implicit-booleaness-not-len` Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Add support for `ModuleNotFoundError` Python 3.6+ builtin-exception (#5106)Samuel FORESTIER2021-10-097-14/+49
|
* Reorganize regression tests (#5130)Marc Mueller2021-10-084-2/+1
| | | | * Revert folder file limit - functional tests * Move some regression tests
* Add test for typing alias in isinstance calls (#5089)Marc Mueller2021-10-073-0/+33
|
* Fix false-negative with typing.Type + typing.Callable aliases (#5090)Marc Mueller2021-10-077-28/+66
|
* Move docs helper functions out of ``MessagesHandlerMixIn``Daniël van Noord2021-10-076-69/+87
|
* Move staticmethods out of MessagesHandlerMixIn (#5123)Daniël van Noord2021-10-073-36/+34
|
* Add test for crash on Compare node inference (#5057)Daniël van Noord2021-10-073-1/+15
| | | | | Closes #5048 Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Add tests for ClassDef inference regression (#5037)Daniël van Noord2021-10-073-0/+38
| | | | Closes #5030 Closes #5036
* Update astroid to 2.8.2 (#5126)Marc Mueller2021-10-072-2/+2
|
* Prepare imports of ``MessagesHandlerMixIn`` for merge with ``PyLinter`` (#5125)Daniël van Noord2021-10-071-19/+16
|
* Refactor ``LinterStats`` (#5074)Daniël van Noord2021-10-0724-415/+734
| | | | | | | | * Refactor ``self.stats`` on linter and checker This adds a new class ``LinterStats`` which is used to store all kinds of stats during a run of ``pylint``. Tests have been changed slightly to be able to use the new class. Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Add guard helper functions from astroid (#5122)Marc Mueller2021-10-074-17/+114
|
* Fix return type checkers calls on ellipses functions (#5107)Daniël van Noord2021-10-064-1/+64
| | | Closes #4736
* Fix a crash if ``str.format`` is referenced without being called (#5109)Tim Martin2021-10-064-2/+16
| | | | | Closes #5058 Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
* Refactor test reporterDaniël van Noord2021-10-062-32/+71
|
* Use 3.10 for Github actions (#5121)Marc Mueller2021-10-051-4/+4
| | | * Use 3.10 for Github actions
* Improve node info for invalid-name (#5094)Marc Mueller2021-10-055-8/+41
|
* Fix crash with AssignAttr in TYPE_CHECKING blocks (#5118)Marc Mueller2021-10-053-1/+17
|
* [pre-commit.ci] pre-commit autoupdate (#5117)pre-commit-ci[bot]2021-10-051-1/+1
| | | | | | updates: - [github.com/asottile/pyupgrade: v2.28.0 → v2.29.0](https://github.com/asottile/pyupgrade/compare/v2.28.0...v2.29.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Update pytest-cov requirement from ~=2.12 to ~=3.0 (#5114)dependabot[bot]2021-10-041-1/+1
| | | | | | | | | | | | | | | | Updates the requirements on [pytest-cov](https://github.com/pytest-dev/pytest-cov) to permit the latest version. - [Release notes](https://github.com/pytest-dev/pytest-cov/releases) - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.12.0...v3.0.0) --- updated-dependencies: - dependency-name: pytest-cov dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Improve and flatten ``unused-wildcard-import`` message (#5110)Daniël van Noord2021-10-045-6/+34
| | | | | | | | | * Improve and flatten ``unused-wildcard-import`` message Instead of reporting all unused imports, the checker now emits one single message for all unused imports with a stylized string containing all imports. This closes #3859 * Add tests for string formation
* Add basic typing to ``pylint/message``Daniël van Noord2021-10-023-14/+26
|
* Merge pull request #5102 from DanielNoord/typing-pyreverseAndreas Finkler2021-10-023-6/+6
|\ | | | | Add basic typing to ``pylint/pyreverse``
| * Add basic typing to ``pylint/pyreverse``Daniël van Noord2021-10-023-6/+6
| |
* | Add basic typing to ``pylint/testutils/pyreverse``Daniël van Noord2021-10-021-2/+2
|/
* Move ``merge_stats`` to ``checkerstats.py``Daniël van Noord2021-10-013-25/+36
|
* Fix empty regex options not converting to regexDaniël van Noord2021-09-293-5/+7
|
* Add missing setting to ``pylintrc``Daniël van Noord2021-09-291-1/+5
|
* Make test decorator use ``checker.set_option()``Daniël van Noord2021-09-292-2/+41
| | | | | | This makes unittests with options mimick the normal option setting behaviour. It also adds ``set_config_directly()`` for those cases where this is not possible.
* Fix false-positive ``useless-suppression`` for ``line-too-long`` (#5077)Daniël van Noord2021-09-284-9/+22
| | | | | | | Also changes ``add_ignored_message()`` to make ``nodes`` parameter optional. Closes #4212 Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>