From d095b19bc14c7fc9e08d50e63a9ccf3facf4599a Mon Sep 17 00:00:00 2001 From: ethan-leba Date: Fri, 27 Nov 2020 10:02:42 -0500 Subject: [PATCH] Add version-specific functional tests for `bad_reversed_sequence` --- ChangeLog | 3 +++ tests/functional/b/bad_reversed_sequence.py | 1 - tests/functional/b/bad_reversed_sequence.txt | 18 ++++++++++-------- .../functional/b/bad_reversed_sequence_py37.py | 2 ++ .../functional/b/bad_reversed_sequence_py37.rc | 2 ++ .../b/bad_reversed_sequence_py37.txt | 1 + .../functional/b/bad_reversed_sequence_py38.py | 2 ++ .../b/bad_reversed_sequence_py38.txt | 0 8 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 tests/functional/b/bad_reversed_sequence_py37.py create mode 100644 tests/functional/b/bad_reversed_sequence_py37.rc create mode 100644 tests/functional/b/bad_reversed_sequence_py37.txt create mode 100644 tests/functional/b/bad_reversed_sequence_py38.py create mode 100644 tests/functional/b/bad_reversed_sequence_py38.txt diff --git a/ChangeLog b/ChangeLog index a5735df0b68..7920b803195 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ ------------------ Pylint's ChangeLog ------------------ +* Only emit `bad-reversed-sequence` on dictionaries if below py3.8 + + Closes #3940 * Handle class decorators applied to function. diff --git a/tests/functional/b/bad_reversed_sequence.py b/tests/functional/b/bad_reversed_sequence.py index f423dd2d6c0..0d7b84da06a 100644 --- a/tests/functional/b/bad_reversed_sequence.py +++ b/tests/functional/b/bad_reversed_sequence.py @@ -44,7 +44,6 @@ def test(path): seq = reversed([1, 2, 3]) seq = reversed((1, 2, 3)) seq = reversed(set()) # [bad-reversed-sequence] - seq = reversed({'a': 1, 'b': 2}) # [bad-reversed-sequence] seq = reversed(iter([1, 2, 3])) # [bad-reversed-sequence] seq = reversed(GoodReversed()) seq = reversed(SecondGoodReversed()) diff --git a/tests/functional/b/bad_reversed_sequence.txt b/tests/functional/b/bad_reversed_sequence.txt index dd0c6f96d67..25143d3a4e5 100644 --- a/tests/functional/b/bad_reversed_sequence.txt +++ b/tests/functional/b/bad_reversed_sequence.txt @@ -1,8 +1,10 @@ -bad-reversed-sequence:43:test:The first reversed() argument is not a sequence -bad-reversed-sequence:46:test:The first reversed() argument is not a sequence -bad-reversed-sequence:47:test:The first reversed() argument is not a sequence -bad-reversed-sequence:48:test:The first reversed() argument is not a sequence -bad-reversed-sequence:51:test:The first reversed() argument is not a sequence -bad-reversed-sequence:52:test:The first reversed() argument is not a sequence -bad-reversed-sequence:54:test:The first reversed() argument is not a sequence -bad-reversed-sequence:55:test:The first reversed() argument is not a sequence +bad-reversed-sequence:43:test:The first reversed() argument is not a sequence +bad-reversed-sequence:46:test:The first reversed() argument is not a sequence +bad-reversed-sequence:47:test:The first reversed() argument is not a sequence +bad-reversed-sequence:48:test:The first reversed() argument is not a sequence +bad-reversed-sequence:50:test:The first reversed() argument is not a sequence +bad-reversed-sequence:51:test:The first reversed() argument is not a sequence +bad-reversed-sequence:52:test:The first reversed() argument is not a sequence +bad-reversed-sequence:53:test:The first reversed() argument is not a sequence +bad-reversed-sequence:54:test:The first reversed() argument is not a sequence +bad-reversed-sequence:55:test:The first reversed() argument is not a sequence diff --git a/tests/functional/b/bad_reversed_sequence_py37.py b/tests/functional/b/bad_reversed_sequence_py37.py new file mode 100644 index 00000000000..a28c84cc031 --- /dev/null +++ b/tests/functional/b/bad_reversed_sequence_py37.py @@ -0,0 +1,2 @@ +""" Dictionaries are reversible starting on python 3.8""" +reversed({'a': 1, 'b': 2}) # [bad-reversed-sequence] diff --git a/tests/functional/b/bad_reversed_sequence_py37.rc b/tests/functional/b/bad_reversed_sequence_py37.rc new file mode 100644 index 00000000000..67a28a36aa5 --- /dev/null +++ b/tests/functional/b/bad_reversed_sequence_py37.rc @@ -0,0 +1,2 @@ +[testoptions] +max_pyver=3.8 diff --git a/tests/functional/b/bad_reversed_sequence_py37.txt b/tests/functional/b/bad_reversed_sequence_py37.txt new file mode 100644 index 00000000000..47d0c6c543c --- /dev/null +++ b/tests/functional/b/bad_reversed_sequence_py37.txt @@ -0,0 +1 @@ +bad-reversed-sequence:2::The first reversed() argument is not a sequence diff --git a/tests/functional/b/bad_reversed_sequence_py38.py b/tests/functional/b/bad_reversed_sequence_py38.py new file mode 100644 index 00000000000..bbfdd97c336 --- /dev/null +++ b/tests/functional/b/bad_reversed_sequence_py38.py @@ -0,0 +1,2 @@ +""" Dictionaries are reversible starting on python 3.8""" +reversed({'a': 1, 'b': 2}) diff --git a/tests/functional/b/bad_reversed_sequence_py38.txt b/tests/functional/b/bad_reversed_sequence_py38.txt new file mode 100644 index 00000000000..e69de29bb2d