diff options
author | Yilei "Dolee" Yang <yileiyang@google.com> | 2021-08-30 13:11:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-30 22:11:27 +0200 |
commit | c64b9d1b6179514c78abc5cc063374335c9208c1 (patch) | |
tree | 6f4a8e1d4f248bc40c6916be4964a81e1e4cfe64 /tests | |
parent | c81a7f1684aab2c69f0cd1411abbc0c9fbd93637 (diff) | |
download | pylint-git-c64b9d1b6179514c78abc5cc063374335c9208c1.tar.gz |
Emit a correct invalid-name message when using multi-naming style. (#4924)
* Emit a correct invalid-name message when using multi-naming style.
Previously, given `--function-rgx=(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$` and the code:
```
def FOO():
pass
def UPPER():
pass
def lower():
pass
```
It would emit a message: ``Function name `lower` doesn't conform to '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern [invalid-name]``.
The message is misleading as `lower` *does* conform to `(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$`. It's just not the prevalent group "UP".
After this commit, the message becomes: ``Function name `lower` doesn't conform to UP group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern [invalid-name]``
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'tests')
4 files changed, 28 insertions, 4 deletions
diff --git a/tests/checkers/unittest_base.py b/tests/checkers/unittest_base.py index 7121f257f..6a20db922 100644 --- a/tests/checkers/unittest_base.py +++ b/tests/checkers/unittest_base.py @@ -303,7 +303,11 @@ class TestMultiNamingStyle(CheckerTestCase): message = Message( "invalid-name", node=classes[0], - args=("Class", "classb", "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern"), + args=( + "Class", + "classb", + "the `UP` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", + ), ) with self.assertAddsMessages(message): cls = None @@ -340,7 +344,7 @@ class TestMultiNamingStyle(CheckerTestCase): args=( "Class", "CLASSC", - "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", + "the `down` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", ), ), ] @@ -371,7 +375,11 @@ class TestMultiNamingStyle(CheckerTestCase): message = Message( "invalid-name", node=function_defs[1], - args=("Function", "FUNC", "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern"), + args=( + "Function", + "FUNC", + "the `down` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", + ), ) with self.assertAddsMessages(message): func = None @@ -402,7 +410,7 @@ class TestMultiNamingStyle(CheckerTestCase): args=( "Function", "UPPER", - "'(?:(?P<ignore>FOO)|(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", + "the `down` group in the '(?:(?P<ignore>FOO)|(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern", ), ) with self.assertAddsMessages(message): diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.py b/tests/functional/i/invalid/invalid_name_multinaming_style.py new file mode 100644 index 000000000..561a15472 --- /dev/null +++ b/tests/functional/i/invalid/invalid_name_multinaming_style.py @@ -0,0 +1,13 @@ +"""Test for multi naming style.""" + + +def UPPER(): # [invalid-name] + """UPPER func that will generate invalid-name error.""" + + +def lower(): + """lower func that satisfies the prevalent group `lower`.""" + + +def anotherlower(): + """Another lower func that satisfies the prevalent group `lower`.""" diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.rc b/tests/functional/i/invalid/invalid_name_multinaming_style.rc new file mode 100644 index 000000000..d513cfbff --- /dev/null +++ b/tests/functional/i/invalid/invalid_name_multinaming_style.rc @@ -0,0 +1,2 @@ +[BASIC] +function-rgx=^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$ diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.txt b/tests/functional/i/invalid/invalid_name_multinaming_style.txt new file mode 100644 index 000000000..abcde057e --- /dev/null +++ b/tests/functional/i/invalid/invalid_name_multinaming_style.txt @@ -0,0 +1 @@ +invalid-name:4:0:UPPER:"Function name ""UPPER"" doesn't conform to the `down` group in the '^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern":HIGH |