diff options
author | David Liu <david@cs.toronto.edu> | 2021-05-24 19:28:41 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-24 21:28:41 +0200 |
commit | fc28cecdffd7f5977d0f600cf7b2d98cc0d4d74c (patch) | |
tree | e8d551a47166d5ea11a5e930c9446ebaed22bc2b | |
parent | 18669a4cba5baceb3dbf5d41cfdc0874e174952a (diff) | |
download | pylint-git-fc28cecdffd7f5977d0f600cf7b2d98cc0d4d74c.tar.gz |
Add list literal check to using-constant-test. (#4502)
-rw-r--r-- | CONTRIBUTORS.txt | 2 | ||||
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | doc/whatsnew/2.9.rst | 3 | ||||
-rw-r--r-- | pylint/checkers/base.py | 2 | ||||
-rw-r--r-- | tests/functional/u/use/using_constant_test.py | 9 | ||||
-rw-r--r-- | tests/functional/u/use/using_constant_test.txt | 22 |
6 files changed, 30 insertions, 11 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index d4ebc2443..ee21f60c7 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -493,3 +493,5 @@ contributors: * Jacob Walls: contributor * ruro: contributor + +* David Liu (david-yz-liu): contributor @@ -77,6 +77,9 @@ modules are added. Closes #1798 +* Make ``using-constant-test`` detect constant tests consisting of list literals like ``[]`` and + ``[1, 2, 3]``. + What's New in Pylint 2.8.2? =========================== diff --git a/doc/whatsnew/2.9.rst b/doc/whatsnew/2.9.rst index ad91ed5d8..d98ae453d 100644 --- a/doc/whatsnew/2.9.rst +++ b/doc/whatsnew/2.9.rst @@ -44,3 +44,6 @@ Other Changes * Allow comma-separated list in ``output-format`` and separate output files for each specified format. Each output file can be defined after a semicolon for example : ``--output-format=json:myfile.json,colorized`` + +* The ``using-constant-test`` checker now detects constant tests consisting of list literals + like ``[]`` and ``[1, 2, 3]``. diff --git a/pylint/checkers/base.py b/pylint/checkers/base.py index 7918b0ea1..1fd55c25e 100644 --- a/pylint/checkers/base.py +++ b/pylint/checkers/base.py @@ -1118,7 +1118,7 @@ class BasicChecker(_BasicChecker): astroid.BoundMethod, astroid.Module, ) - structs = (astroid.Dict, astroid.Tuple, astroid.Set) + structs = (astroid.Dict, astroid.Tuple, astroid.Set, astroid.List) # These nodes are excepted, since they are not constant # values, requiring a computation to happen. diff --git a/tests/functional/u/use/using_constant_test.py b/tests/functional/u/use/using_constant_test.py index df7b56237..b3d06230a 100644 --- a/tests/functional/u/use/using_constant_test.py +++ b/tests/functional/u/use/using_constant_test.py @@ -62,6 +62,12 @@ if (1, 2, 3): # [using-constant-test] if (): # [using-constant-test] pass +if [1, 2, 3]: # [using-constant-test] + pass + +if []: # [using-constant-test] + pass + # Generator generator = function() if generator: # [using-constant-test] @@ -121,6 +127,9 @@ if dict(): if tuple(): pass +if list(): + pass + if [1, 2, 3][:1]: pass diff --git a/tests/functional/u/use/using_constant_test.txt b/tests/functional/u/use/using_constant_test.txt index b3047955b..9d112272f 100644 --- a/tests/functional/u/use/using_constant_test.txt +++ b/tests/functional/u/use/using_constant_test.txt @@ -12,13 +12,15 @@ using-constant-test:53:0::Using a conditional statement with a constant value using-constant-test:56:0::Using a conditional statement with a constant value using-constant-test:59:0::Using a conditional statement with a constant value using-constant-test:62:0::Using a conditional statement with a constant value -using-constant-test:67:0::Using a conditional statement with a constant value -using-constant-test:70:3::Using a conditional statement with a constant value -using-constant-test:74:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:75:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:76:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:77:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:78:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:79:0:test_comprehensions:Using a conditional statement with a constant value -using-constant-test:83:0::Using a conditional statement with a constant value -using-constant-test:87:0::Using a conditional statement with a constant value +using-constant-test:65:0::Using a conditional statement with a constant value +using-constant-test:68:0::Using a conditional statement with a constant value +using-constant-test:73:0::Using a conditional statement with a constant value +using-constant-test:76:3::Using a conditional statement with a constant value +using-constant-test:80:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:81:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:82:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:83:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:84:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:85:0:test_comprehensions:Using a conditional statement with a constant value +using-constant-test:89:0::Using a conditional statement with a constant value +using-constant-test:93:0::Using a conditional statement with a constant value |