Hi,

I'm trying to configure the no-docstring-rgx option to ignore function and
class names that:
- Starts with _
- Starts with test_
- Ends with tests
- Ends with Tests

I came up with the following regular expression:

(^(test)?_)|((T|t)ests$)


When I test the regular expression on https://regex101.com/r/3BXmsa/6, it
matches the text I expect it to match.

However, when I run pylint against my code, it still reports a docstring is
missing for a class name that ends with Tests.

For example, if I have the following python 3 code.

import unittest


class _Utils(unittest.TestCase):
    pass


class Test_Foo(unittest.TestCase):
    pass


class test_Foo(unittest.TestCase):
    pass


class UtilsTests(unittest.TestCase):

    def test_function_name(self):
        pass

    def _foo(self):
        pass

    def my_tests(self):
        pass


if __name__ == "__main__":
    unittest.main()


Running pylint --disable=all --enable=missing-docstring
--no-docstring-rgx='(^(test)?_)|((T|t)ests$)' ./test.py yields

$ pylint --disable=all --enable=missing-docstring
--no-docstring-rgx='(^(test)?_)|((T|t)ests$)' ./test.py

************* Module test

test.py:1:0: C0111: Missing module docstring (missing-docstring)

test.py:8:0: C0111: Missing class docstring (missing-docstring)

test.py:16:0: C0111: Missing class docstring (missing-docstring)

test.py:24:4: C0111: Missing method docstring (missing-docstring)


------------------------------------------------------------------

Your code has been rated at 7.50/10 (previous run: 7.50/10, +0.00)


I was only expecting to see the Missing module docstring violation, and the
missing class docstring on line 8.

Here is my environment:

$ pylint --version

pylint 2.3.1

astroid 2.2.5

Python 3.7.3 (default, Mar 27 2019, 09:23:15)

[Clang 10.0.1 (clang-1001.0.46.3)]

Any ideas what is going on and how to fix it?

Cheers,

Bassam
---
"What we can or cannot do, what we consider possible or impossible, is
rarely a function of our true capability. It is more likely a function of
our beliefs about who we are." - Tony Robbins
_______________________________________________
code-quality mailing list
code-quality@python.org
https://mail.python.org/mailman/listinfo/code-quality

Reply via email to