Hello community,

here is the log from the commit of package python-pylint for openSUSE:Factory 
checked in at 2020-06-11 14:45:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pylint (Old)
 and      /work/SRC/openSUSE:Factory/.python-pylint.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pylint"

Thu Jun 11 14:45:11 2020 rev:16 rq:812777 version:2.5.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pylint/python-pylint.changes      
2020-05-28 09:07:53.119800852 +0200
+++ /work/SRC/openSUSE:Factory/.python-pylint.new.3606/python-pylint.changes    
2020-06-11 14:45:33.085530974 +0200
@@ -1,0 +2,23 @@
+Mon Jun  8 19:33:50 UTC 2020 - Michael Ströder <[email protected]>
+
+- Update to 2.5.3
+  * Fix a regression where disable comments that have checker names with 
numbers in them are not parsed correctly
+    Close #3666
+  * `property-with-parameters` properly handles abstract properties
+    Close #3600
+  * `continue-in-finally` no longer emitted on Python 3.8 where it's now valid
+    Close #3612
+  * Fix a regression where messages with dash are not fully parsed
+    Close #3604
+  * In a TOML configuration file, it's now possible to use rich (non-string) 
types, such as list, integer or boolean instead of strings. For example, one 
can now define a *list* of message identifiers to enable like this::
+      enable = [
+          "use-symbolic-message-instead",
+          "useless-suppression",
+      ]
+    Close #3538
+  * Fix a regression where the score was not reported with multiple jobs
+    Close #3547
+  * Protect against `AttributeError` when checking `cell-var-from-loop`
+    Close #3646
+
+-------------------------------------------------------------------

Old:
----
  pylint-2.5.2.tar.gz

New:
----
  pylint-2.5.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pylint.spec ++++++
--- /var/tmp/diff_new_pack.5UwSpX/_old  2020-06-11 14:45:34.225534295 +0200
+++ /var/tmp/diff_new_pack.5UwSpX/_new  2020-06-11 14:45:34.229534307 +0200
@@ -20,7 +20,7 @@
 %bcond_without tests
 %define skip_python2 1
 Name:           python-pylint
-Version:        2.5.2
+Version:        2.5.3
 Release:        0
 Summary:        Syntax and style checker for Python code
 License:        GPL-2.0-or-later

++++++ pylint-2.5.2.tar.gz -> pylint-2.5.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/CONTRIBUTORS.txt 
new/pylint-2.5.3/CONTRIBUTORS.txt
--- old/pylint-2.5.2/CONTRIBUTORS.txt   2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/CONTRIBUTORS.txt   2020-06-08 09:00:16.000000000 +0200
@@ -381,3 +381,9 @@
 * Yang Yang: contributor
 
 * Andrew J. Simmons (anjsimmo): contributor
+
+* Damien Baty: contributor
+
+* Daniel R. Neal (danrneal): contributer
+
+* Jeremy Fleischman (jfly): contributer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/ChangeLog new/pylint-2.5.3/ChangeLog
--- old/pylint-2.5.2/ChangeLog  2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/ChangeLog  2020-06-08 09:00:16.000000000 +0200
@@ -2,6 +2,45 @@
 Pylint's ChangeLog
 ------------------
 
+What's New in Pylint 2.5.3?
+===========================
+
+Release date: 2020-06-8
+
+* Fix a regression where disable comments that have checker names with numbers 
in them are not parsed correctly
+
+  Close #3666
+
+* `property-with-parameters` properly handles abstract properties
+
+  Close #3600
+
+* `continue-in-finally` no longer emitted on Python 3.8 where it's now valid
+
+  Close #3612
+
+* Fix a regression where messages with dash are not fully parsed
+
+  Close #3604
+
+* Fix a regression where the score was not reported with multiple jobs
+
+  Close #3547
+
+* In a TOML configuration file, it's now possible to use rich (non-string) 
types, such as list, integer or boolean instead of strings. For example, one 
can now define a *list* of message identifiers to enable like this::
+
+    enable = [
+        "use-symbolic-message-instead",
+        "useless-suppression",
+    ]
+
+  Close #3538
+
+* Protect against `AttributeError` when checking `cell-var-from-loop`
+
+  Close #3646
+
+
 What's New in Pylint 2.5.2?
 ===========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/PKG-INFO new/pylint-2.5.3/PKG-INFO
--- old/pylint-2.5.2/PKG-INFO   2020-05-05 15:00:18.000000000 +0200
+++ new/pylint-2.5.3/PKG-INFO   2020-06-08 09:03:09.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pylint
-Version: 2.5.2
+Version: 2.5.3
 Summary: python code static checker
 Home-page: https://github.com/PyCQA/pylint
 Author: Python Code Quality Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/__pkginfo__.py 
new/pylint-2.5.3/pylint/__pkginfo__.py
--- old/pylint-2.5.2/pylint/__pkginfo__.py      2020-05-05 14:57:24.000000000 
+0200
+++ new/pylint-2.5.3/pylint/__pkginfo__.py      2020-06-08 09:00:16.000000000 
+0200
@@ -28,7 +28,7 @@
 from os.path import join
 
 # For an official release, use dev_version = None
-numversion = (2, 5, 2)
+numversion = (2, 5, 3)
 dev_version = None
 
 version = ".".join(str(num) for num in numversion)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/checkers/base.py 
new/pylint-2.5.3/pylint/checkers/base.py
--- old/pylint-2.5.2/pylint/checkers/base.py    2020-05-05 14:57:24.000000000 
+0200
+++ new/pylint-2.5.3/pylint/checkers/base.py    2020-06-08 09:00:16.000000000 
+0200
@@ -541,6 +541,7 @@
             "continue-in-finally",
             "Emitted when the `continue` keyword is found "
             "inside a finally clause, which is a SyntaxError.",
+            {"maxversion": (3, 8)},
         ),
         "E0117": (
             "nonlocal name %s found without binding",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/checkers/classes.py 
new/pylint-2.5.3/pylint/checkers/classes.py
--- old/pylint-2.5.2/pylint/checkers/classes.py 2020-05-05 14:57:24.000000000 
+0200
+++ new/pylint-2.5.3/pylint/checkers/classes.py 2020-06-08 09:00:16.000000000 
+0200
@@ -1109,7 +1109,12 @@
             )
 
     def _check_property_with_parameters(self, node):
-        if node.args.args and len(node.args.args) > 1 and 
decorated_with_property(node):
+        if (
+            node.args.args
+            and len(node.args.args) > 1
+            and decorated_with_property(node)
+            and not is_property_setter(node)
+        ):
             self.add_message("property-with-parameters", node=node)
 
     def _check_invalid_overridden_method(self, function_node, 
parent_function_node):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/checkers/variables.py 
new/pylint-2.5.3/pylint/checkers/variables.py
--- old/pylint-2.5.2/pylint/checkers/variables.py       2020-05-05 
14:57:24.000000000 +0200
+++ new/pylint-2.5.3/pylint/checkers/variables.py       2020-06-08 
09:00:16.000000000 +0200
@@ -1716,13 +1716,14 @@
         else:
             assign_scope = assignment_node.scope()
             maybe_for = assignment_node
-            while not isinstance(maybe_for, astroid.For):
+            while maybe_for and not isinstance(maybe_for, astroid.For):
                 if maybe_for is assign_scope:
                     break
                 maybe_for = maybe_for.parent
             else:
                 if (
-                    maybe_for.parent_of(node_scope)
+                    maybe_for
+                    and maybe_for.parent_of(node_scope)
                     and not _is_direct_lambda_call()
                     and not isinstance(node_scope.statement(), astroid.Return)
                 ):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/config.py 
new/pylint-2.5.3/pylint/config.py
--- old/pylint-2.5.2/pylint/config.py   2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/pylint/config.py   2020-06-08 09:00:16.000000000 +0200
@@ -741,7 +741,7 @@
                 raise OSError("The config file {:s} doesn't 
exist!".format(config_file))
 
         use_config_file = config_file and os.path.exists(config_file)
-        if use_config_file:
+        if use_config_file:  # pylint: disable=too-many-nested-blocks
             parser = self.cfgfile_parser
 
             if config_file.endswith(".toml"):
@@ -754,6 +754,15 @@
                     pass
                 else:
                     for section, values in sections_values.items():
+                        # TOML has rich types, convert values to
+                        # strings as ConfigParser expects.
+                        for option, value in values.items():
+                            if isinstance(value, bool):
+                                values[option] = "yes" if value else "no"
+                            elif isinstance(value, int):
+                                values[option] = str(value)
+                            elif isinstance(value, list):
+                                values[option] = ",".join(value)
                         parser._sections[section.upper()] = values
             else:
                 # Use this encoding in order to strip the BOM marker, if any.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/lint/check_parallel.py 
new/pylint-2.5.3/pylint/lint/check_parallel.py
--- old/pylint-2.5.2/pylint/lint/check_parallel.py      2020-05-05 
14:57:24.000000000 +0200
+++ new/pylint-2.5.3/pylint/lint/check_parallel.py      2020-06-08 
09:00:16.000000000 +0200
@@ -71,6 +71,7 @@
     msgs = [_get_new_args(m) for m in _worker_linter.reporter.messages]
     return (
         _worker_linter.current_name,
+        _worker_linter.file_state.base_name,
         msgs,
         _worker_linter.stats,
         _worker_linter.msg_status,
@@ -97,9 +98,10 @@
 
         all_stats = []
 
-        for module, messages, stats, msg_status in pool.imap_unordered(
+        for module, base_name, messages, stats, msg_status in 
pool.imap_unordered(
             _worker_check_single_file, files
         ):
+            linter.file_state.base_name = base_name
             linter.set_current_module(module)
             for msg in messages:
                 msg = Message(*msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint/utils/pragma_parser.py 
new/pylint-2.5.3/pylint/utils/pragma_parser.py
--- old/pylint-2.5.2/pylint/utils/pragma_parser.py      2020-05-05 
14:57:24.000000000 +0200
+++ new/pylint-2.5.3/pylint/utils/pragma_parser.py      2020-06-08 
09:00:16.000000000 +0200
@@ -17,7 +17,7 @@
     .*?                # Anything (as little as possible)
     \bpylint:          # pylint word and column
     \s*                # Any number of whitespaces
-    ([^;#\n]+))        # Anything except semicolon or hash or newline (it is 
the second matched group) 
+    ([^;#\n]+))        # Anything except semicolon or hash or newline (it is 
the second matched group)
                        # and end of the first matched group
     [;#]{0,1}"""  # From 0 to 1 repetition of semicolon or hash
 OPTION_PO = re.compile(OPTION_RGX, re.VERBOSE)
@@ -39,7 +39,7 @@
 
 TOKEN_SPECIFICATION = [
     ("KEYWORD", r"\b({:s})\b".format(ALL_KEYWORDS)),
-    ("MESSAGE_STRING", r"[A-Za-z\-]{2,}"),  #  Identifiers
+    ("MESSAGE_STRING", r"[0-9A-Za-z\-\_]{2,}"),  #  Identifiers
     ("ASSIGN", r"="),  #  Assignment operator
     ("MESSAGE_NUMBER", r"[CREIWF]{1}\d*"),
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint.egg-info/PKG-INFO 
new/pylint-2.5.3/pylint.egg-info/PKG-INFO
--- old/pylint-2.5.2/pylint.egg-info/PKG-INFO   2020-05-05 15:00:18.000000000 
+0200
+++ new/pylint-2.5.3/pylint.egg-info/PKG-INFO   2020-06-08 09:03:09.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pylint
-Version: 2.5.2
+Version: 2.5.3
 Summary: python code static checker
 Home-page: https://github.com/PyCQA/pylint
 Author: Python Code Quality Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/pylint.egg-info/SOURCES.txt 
new/pylint-2.5.3/pylint.egg-info/SOURCES.txt
--- old/pylint-2.5.2/pylint.egg-info/SOURCES.txt        2020-05-05 
15:00:18.000000000 +0200
+++ new/pylint-2.5.3/pylint.egg-info/SOURCES.txt        2020-06-08 
09:03:09.000000000 +0200
@@ -353,6 +353,7 @@
 tests/functional/c/consider_using_sys_exit_exempted.py
 tests/functional/c/consider_using_sys_exit_local_scope.py
 tests/functional/c/continue_in_finally.py
+tests/functional/c/continue_in_finally.rc
 tests/functional/c/continue_in_finally.txt
 tests/functional/c/control_pragmas.py
 tests/functional/c/control_pragmas.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.5.2/tests/functional/c/cellvar_escaping_loop.py 
new/pylint-2.5.3/tests/functional/c/cellvar_escaping_loop.py
--- old/pylint-2.5.2/tests/functional/c/cellvar_escaping_loop.py        
2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/functional/c/cellvar_escaping_loop.py        
2020-06-08 09:00:16.000000000 +0200
@@ -1,7 +1,10 @@
-# pylint: disable=print-statement, unnecessary-comprehension
+# pylint: disable=print-statement, 
unnecessary-comprehension,missing-docstring,too-few-public-methods
 """Tests for loopvar-in-closure."""
 from __future__ import print_function
 
+from enum import Enum
+
+
 def good_case():
     """No problems here."""
     lst = []
@@ -118,3 +121,11 @@
         print(j)
         lst.append(lambda: i)  # [cell-var-from-loop]
     return lst
+
+
+class Test(Enum):
+    TEST = (40, 160)
+
+    @staticmethod
+    def new_test(minimum=TEST[0], maximum=TEST[1]):
+        return minimum, maximum
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.5.2/tests/functional/c/cellvar_escaping_loop.txt 
new/pylint-2.5.3/tests/functional/c/cellvar_escaping_loop.txt
--- old/pylint-2.5.2/tests/functional/c/cellvar_escaping_loop.txt       
2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/functional/c/cellvar_escaping_loop.txt       
2020-06-08 09:00:16.000000000 +0200
@@ -1,6 +1,6 @@
-cell-var-from-loop:67:bad_case.<lambda>:Cell variable i defined in loop
-cell-var-from-loop:72:bad_case2.<lambda>:Cell variable i defined in loop
-cell-var-from-loop:80:bad_case3.<lambda>:Cell variable j defined in loop
-cell-var-from-loop:90:bad_case4.nested:Cell variable i defined in loop
-cell-var-from-loop:111:bad_case5.<lambda>:Cell variable i defined in loop
-cell-var-from-loop:119:bad_case6.<lambda>:Cell variable i defined in loop
+cell-var-from-loop:70:bad_case.<lambda>:Cell variable i defined in loop
+cell-var-from-loop:75:bad_case2.<lambda>:Cell variable i defined in loop
+cell-var-from-loop:83:bad_case3.<lambda>:Cell variable j defined in loop
+cell-var-from-loop:93:bad_case4.nested:Cell variable i defined in loop
+cell-var-from-loop:114:bad_case5.<lambda>:Cell variable i defined in loop
+cell-var-from-loop:122:bad_case6.<lambda>:Cell variable i defined in loop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.5.2/tests/functional/c/continue_in_finally.rc 
new/pylint-2.5.3/tests/functional/c/continue_in_finally.rc
--- old/pylint-2.5.2/tests/functional/c/continue_in_finally.rc  1970-01-01 
01:00:00.000000000 +0100
+++ new/pylint-2.5.3/tests/functional/c/continue_in_finally.rc  2020-06-08 
09:00:16.000000000 +0200
@@ -0,0 +1,2 @@
+[testoptions]
+max_pyver=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.5.2/tests/functional/p/property_with_parameters.py 
new/pylint-2.5.3/tests/functional/p/property_with_parameters.py
--- old/pylint-2.5.2/tests/functional/p/property_with_parameters.py     
2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/functional/p/property_with_parameters.py     
2020-06-08 09:00:16.000000000 +0200
@@ -1,7 +1,21 @@
 # pylint: disable=missing-docstring, too-few-public-methods
+from abc import ABCMeta, abstractproperty
 
 
 class Cls:
     @property
     def attribute(self, param, param1): # [property-with-parameters]
         return param + param1
+
+
+class MyClassBase(metaclass=ABCMeta):
+    """MyClassBase."""
+
+    @abstractproperty
+    def example(self):
+        """Getter."""
+
+    @abstractproperty
+    @example.setter
+    def example(self, value):
+        """Setter."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.5.2/tests/functional/p/property_with_parameters.txt 
new/pylint-2.5.3/tests/functional/p/property_with_parameters.txt
--- old/pylint-2.5.2/tests/functional/p/property_with_parameters.txt    
2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/functional/p/property_with_parameters.txt    
2020-06-08 09:00:16.000000000 +0200
@@ -1 +1 @@
-property-with-parameters:6:Cls.attribute:Cannot have defined parameters for 
properties
+property-with-parameters:7:Cls.attribute:Cannot have defined parameters for 
properties
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/tests/test_config.py 
new/pylint-2.5.3/tests/test_config.py
--- old/pylint-2.5.2/tests/test_config.py       2020-05-05 14:57:24.000000000 
+0200
+++ new/pylint-2.5.3/tests/test_config.py       2020-06-08 09:00:16.000000000 
+0200
@@ -1,37 +1,93 @@
+# pylint: disable=missing-module-docstring, missing-function-docstring, 
protected-access
 import unittest.mock
 
 import pylint.lint
 
 
-def test_can_read_toml(tmp_path):
-    config_file = tmp_path / "pyproject.toml"
+def check_configuration_file_reader(config_file):
+    """Initialize pylint with the given configuration file and check that
+    what we initialized the linter with what was expected.
+    """
+    args = ["--rcfile", str(config_file), __file__]
+    # If we used `pytest.raises(SystemExit)`, the `runner` variable
+    # would not be accessible outside the `with` block.
+    with unittest.mock.patch("sys.exit") as mocked_exit:
+        # Do not actually run checks, that could be slow. Do not mock
+        # `Pylinter.check`: it calls `Pylinter.initialize` which is
+        # needed to properly set up messages inclusion/exclusion
+        # in `_msg_states`, used by `is_message_enabled`.
+        with unittest.mock.patch("pylint.lint.pylinter.check_parallel"):
+            runner = pylint.lint.Run(args)
+
+    # "logging-not-lazy" and "logging-format-interpolation"
+    expected_disabled = {"W1201", "W1202"}
+    for msgid in expected_disabled:
+        assert not runner.linter.is_message_enabled(msgid)
+    assert runner.linter.config.jobs == 10
+    assert runner.linter.config.reports
+
+    mocked_exit.assert_called_once_with(0)
+    return runner
+
+
+def test_can_read_ini(tmp_path):
+    # Check that we can read the "regular" INI .pylintrc file
+    config_file = tmp_path / ".pylintrc"
     config_file.write_text(
-        "[tool.pylint.'messages control']\n"
-        "disable='all'\n"
-        "enable='missing-module-docstring'\n"
-        "jobs=10\n"
+        """
+[messages control]
+disable = logging-not-lazy,logging-format-interpolation
+jobs = 10
+reports = yes
+"""
     )
-    linter = pylint.lint.PyLinter()
-    linter.global_set_option = unittest.mock.MagicMock()
-    linter.read_config_file(str(config_file))
-
-    assert linter.global_set_option.called_with("disable", "all")
-    assert linter.global_set_option.called_with("enable", 
"missing-module-docstring")
-    assert linter.global_set_option.called_with("jobs", 10)
+    check_configuration_file_reader(config_file)
 
 
 def test_can_read_setup_cfg(tmp_path):
+    # Check that we can read a setup.cfg (which is an INI file where
+    # section names are prefixed with "pylint."
     config_file = tmp_path / "setup.cfg"
     config_file.write_text(
-        "[pylint.messages control]\n"
-        "disable=all\n"
-        "enable=missing-module-docstring\n"
-        "jobs=10\n"
+        """
+[pylint.messages control]
+disable = logging-not-lazy,logging-format-interpolation
+jobs = 10
+reports = yes
+"""
+    )
+    check_configuration_file_reader(config_file)
+
+
+def test_can_read_toml(tmp_path):
+    # Check that we can read a TOML file where lists and integers are
+    # expressed as strings.
+    config_file = tmp_path / "pyproject.toml"
+    config_file.write_text(
+        """
+[tool.pylint."messages control"]
+disable = "logging-not-lazy,logging-format-interpolation"
+jobs = "10"
+reports = "yes"
+"""
+    )
+    check_configuration_file_reader(config_file)
+
+
+def test_can_read_toml_rich_types(tmp_path):
+    # Check that we can read a TOML file where lists, integers and
+    # booleans are expressed as such (and not as strings), using TOML
+    # type system.
+    config_file = tmp_path / "pyproject.toml"
+    config_file.write_text(
+        """
+[tool.pylint."messages control"]
+disable = [
+    "logging-not-lazy",
+    "logging-format-interpolation",
+]
+jobs = 10
+reports = true
+"""
     )
-    linter = pylint.lint.PyLinter()
-    linter.global_set_option = unittest.mock.MagicMock()
-    linter.read_config_file(str(config_file))
-
-    assert linter.global_set_option.called_with("disable", "all")
-    assert linter.global_set_option.called_with("enable", 
"missing-module-docstring")
-    assert linter.global_set_option.called_with("jobs", 10)
+    check_configuration_file_reader(config_file)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/tests/test_pragma_parser.py 
new/pylint-2.5.3/tests/test_pragma_parser.py
--- old/pylint-2.5.2/tests/test_pragma_parser.py        2020-05-05 
14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/test_pragma_parser.py        2020-06-08 
09:00:16.000000000 +0200
@@ -16,6 +16,14 @@
         assert pragma_repr.messages == ["missing-docstring"]
 
 
+def test_disable_checker_with_number_in_name():
+    comment = "#pylint: disable = j3-custom-checker"
+    match = OPTION_PO.search(comment)
+    for pragma_repr in parse_pragma(match.group(2)):
+        assert pragma_repr.action == "disable"
+        assert pragma_repr.messages == ["j3-custom-checker"]
+
+
 def test_simple_pragma_no_messages():
     comment = "#pylint: skip-file"
     match = OPTION_PO.search(comment)
@@ -82,3 +90,11 @@
     match = OPTION_PO.search(comment)
     with pytest.raises(InvalidPragmaError):
         list(parse_pragma(match.group(2)))
+
+
+def test_parse_message_with_dash():
+    comment = "#pylint: disable = raw_input-builtin"
+    match = OPTION_PO.search(comment)
+    res = list(parse_pragma(match.group(2)))
+    assert res[0].action == "disable"
+    assert res[0].messages == ["raw_input-builtin"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.5.2/tests/test_self.py 
new/pylint-2.5.3/tests/test_self.py
--- old/pylint-2.5.2/tests/test_self.py 2020-05-05 14:57:24.000000000 +0200
+++ new/pylint-2.5.3/tests/test_self.py 2020-06-08 09:00:16.000000000 +0200
@@ -778,3 +778,8 @@
                 ],
                 code=0,
             )
+
+    def test_jobs_score(self):
+        path = join(HERE, "regrtest_data", "unused_variable.py")
+        expected = "Your code has been rated at 7.50/10"
+        self._test_output([path, "--jobs=2", "-ry"], expected_output=expected)


Reply via email to