summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Liu <david@cs.toronto.edu>2021-05-24 19:28:41 +0000
committerGitHub <noreply@github.com>2021-05-24 21:28:41 +0200
commitfc28cecdffd7f5977d0f600cf7b2d98cc0d4d74c (patch)
treee8d551a47166d5ea11a5e930c9446ebaed22bc2b
parent18669a4cba5baceb3dbf5d41cfdc0874e174952a (diff)
downloadpylint-git-fc28cecdffd7f5977d0f600cf7b2d98cc0d4d74c.tar.gz
Add list literal check to using-constant-test. (#4502)
-rw-r--r--CONTRIBUTORS.txt2
-rw-r--r--ChangeLog3
-rw-r--r--doc/whatsnew/2.9.rst3
-rw-r--r--pylint/checkers/base.py2
-rw-r--r--tests/functional/u/use/using_constant_test.py9
-rw-r--r--tests/functional/u/use/using_constant_test.txt22
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
diff --git a/ChangeLog b/ChangeLog
index 858d0e117..b6dcfa775 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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