The following issues were found

Lib/test/test_weakset.py
136 issues
Unnecessary semicolon
Error

Line: 188 Column: 1

                      self.assertEqual(s, self.s)
        s.__init__(self.items2)
        self.assertEqual(s, WeakSet(self.items2))
        self.assertRaises(TypeError, s.__init__, s, 2);
        self.assertRaises(TypeError, s.__init__, 1);

    def test_constructor_identity(self):
        s = WeakSet(self.items)
        t = WeakSet(s)

            

Reported by Pylint.

Unnecessary semicolon
Error

Line: 189 Column: 1

                      s.__init__(self.items2)
        self.assertEqual(s, WeakSet(self.items2))
        self.assertRaises(TypeError, s.__init__, s, 2);
        self.assertRaises(TypeError, s.__init__, 1);

    def test_constructor_identity(self):
        s = WeakSet(self.items)
        t = WeakSet(s)
        self.assertNotEqual(id(s), id(t))

            

Reported by Pylint.

Unused variable 'i'
Error

Line: 237 Column: 13

                      self.assertRaises(TypeError, self.s.discard, [])

    def test_pop(self):
        for i in range(len(self.s)):
            elem = self.s.pop()
            self.assertNotIn(elem, self.s)
        self.assertRaises(KeyError, self.s.pop)

    def test_update(self):

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import unittest
from weakref import WeakSet
import string
from collections import UserString as ustr
from collections.abc import Set, MutableSet
import gc
import contextlib



            

Reported by Pylint.

Too few public methods (0/2)
Error

Line: 10 Column: 1

              import contextlib


class Foo:
    pass

class RefCycle:
    def __init__(self):
        self.cycle = self

            

Reported by Pylint.

Missing class docstring
Error

Line: 10 Column: 1

              import contextlib


class Foo:
    pass

class RefCycle:
    def __init__(self):
        self.cycle = self

            

Reported by Pylint.

Too few public methods (0/2)
Error

Line: 13 Column: 1

              class Foo:
    pass

class RefCycle:
    def __init__(self):
        self.cycle = self


class TestWeakSet(unittest.TestCase):

            

Reported by Pylint.

Missing class docstring
Error

Line: 13 Column: 1

              class Foo:
    pass

class RefCycle:
    def __init__(self):
        self.cycle = self


class TestWeakSet(unittest.TestCase):

            

Reported by Pylint.

Too many public methods (46/20)
Error

Line: 18 Column: 1

                      self.cycle = self


class TestWeakSet(unittest.TestCase):

    def setUp(self):
        # need to keep references to them
        self.items = [ustr(c) for c in ('a', 'b', 'c')]
        self.items2 = [ustr(c) for c in ('x', 'y', 'z')]

            

Reported by Pylint.

Too many instance attributes (13/7)
Error

Line: 18 Column: 1

                      self.cycle = self


class TestWeakSet(unittest.TestCase):

    def setUp(self):
        # need to keep references to them
        self.items = [ustr(c) for c in ('a', 'b', 'c')]
        self.items2 = [ustr(c) for c in ('x', 'y', 'z')]

            

Reported by Pylint.

Lib/platform.py
135 issues
subprocess call with shell=True identified, security issue.
Security injection

Line: 285
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b602_subprocess_popen_with_shell_equals_true.html

                                                         stdin=subprocess.DEVNULL,
                                           stderr=subprocess.DEVNULL,
                                           text=True,
                                           shell=True)
        except (OSError, subprocess.CalledProcessError) as why:
            #print('Command %s failed: %s' % (cmd, why))
            continue
        else:
            break

            

Reported by Bandit.

Unable to import 'java.lang'
Error

Line: 453 Column: 5

              
def _java_getprop(name, default):

    from java.lang import System
    try:
        value = System.getProperty(name)
        if value is None:
            return default
        return value

            

Reported by Pylint.

Method has no argument
Error

Line: 734 Column: 5

                      func = getattr(cls, f'get_{sys.platform}', cls.from_subprocess)
        return func() or ''

    def get_win32():
        return os.environ.get('PROCESSOR_IDENTIFIER', _get_machine_win32())

    def get_OpenVMS():
        try:
            import vms_lib

            

Reported by Pylint.

Method has no argument
Error

Line: 737 Column: 5

                  def get_win32():
        return os.environ.get('PROCESSOR_IDENTIFIER', _get_machine_win32())

    def get_OpenVMS():
        try:
            import vms_lib
        except ImportError:
            pass
        else:

            

Reported by Pylint.

Method has no argument
Error

Line: 746 Column: 5

                          csid, cpu_number = vms_lib.getsyi('SYI$_CPU', 0)
            return 'Alpha' if cpu_number >= 128 else 'VAX'

    def from_subprocess():
        """
        Fall back to `uname -p`
        """
        import subprocess
        try:

            

Reported by Pylint.

Value 'system' is unsubscriptable
Error

Line: 875 Column: 14

                                  version = '16bit'
            system = 'Windows'

        elif system[:4] == 'java':
            release, vendor, vminfo, osinfo = java_ver()
            system = 'Java'
            version = ', '.join(vminfo)
            if not version:
                version = vendor

            

Reported by Pylint.

Module 'sys' has no '_mercurial' member
Error

Line: 1077 Column: 31

                  if hasattr(sys, '_git'):
        _, branch, revision = sys._git
    elif hasattr(sys, '_mercurial'):
        _, branch, revision = sys._mercurial
    else:
        branch = ''
        revision = ''

    # Add the patchlevel version if missing

            

Reported by Pylint.

Redefining name 'version' from outer scope (line 929)
Error

Line: 141 Column: 25

              
_component_re = re.compile(r'([0-9]+|[._+-])')

def _comparable_version(version):
    result = []
    for v in _component_re.split(version):
        if v not in '._+-':
            try:
                v = int(v, 10)

            

Reported by Pylint.

Redefining name 'version' from outer scope (line 929)
Error

Line: 161 Column: 39

                                        b'|'
                          br'(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)', re.ASCII)

def libc_ver(executable=None, lib='', version='', chunksize=16384):

    """ Tries to determine the libc version that the file executable
        (which defaults to the Python interpreter) is linked against.

        Returns a tuple of strings (lib,version) which default to the

            

Reported by Pylint.

Redefining name 'version' from outer scope (line 929)
Error

Line: 232 Column: 19

                          pos = m.end()
    return lib, version

def _norm_version(version, build=''):

    """ Normalize the version and build strings and return a single
        version string using the format major.minor.build (or patchlevel).
    """
    l = version.split('.')

            

Reported by Pylint.

Lib/multiprocessing/context.py
135 issues
Attempted relative import beyond top-level package
Error

Line: 5 Column: 1

              import sys
import threading

from . import process
from . import reduction

__all__ = ()

#

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 6 Column: 1

              import threading

from . import process
from . import reduction

__all__ = ()

#
# Exceptions

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 55 Column: 9

                      The managers methods such as `Lock()`, `Condition()` and `Queue()`
        can be used to create shared objects.
        '''
        from .managers import SyncManager
        m = SyncManager(ctx=self.get_context())
        m.start()
        return m

    def Pipe(self, duplex=True):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 62 Column: 9

              
    def Pipe(self, duplex=True):
        '''Returns two connection object connected by a pipe'''
        from .connection import Pipe
        return Pipe(duplex)

    def Lock(self):
        '''Returns a non-recursive lock object'''
        from .synchronize import Lock

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 67 Column: 9

              
    def Lock(self):
        '''Returns a non-recursive lock object'''
        from .synchronize import Lock
        return Lock(ctx=self.get_context())

    def RLock(self):
        '''Returns a recursive lock object'''
        from .synchronize import RLock

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 72 Column: 9

              
    def RLock(self):
        '''Returns a recursive lock object'''
        from .synchronize import RLock
        return RLock(ctx=self.get_context())

    def Condition(self, lock=None):
        '''Returns a condition object'''
        from .synchronize import Condition

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 77 Column: 9

              
    def Condition(self, lock=None):
        '''Returns a condition object'''
        from .synchronize import Condition
        return Condition(lock, ctx=self.get_context())

    def Semaphore(self, value=1):
        '''Returns a semaphore object'''
        from .synchronize import Semaphore

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 82 Column: 9

              
    def Semaphore(self, value=1):
        '''Returns a semaphore object'''
        from .synchronize import Semaphore
        return Semaphore(value, ctx=self.get_context())

    def BoundedSemaphore(self, value=1):
        '''Returns a bounded semaphore object'''
        from .synchronize import BoundedSemaphore

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 87 Column: 9

              
    def BoundedSemaphore(self, value=1):
        '''Returns a bounded semaphore object'''
        from .synchronize import BoundedSemaphore
        return BoundedSemaphore(value, ctx=self.get_context())

    def Event(self):
        '''Returns an event object'''
        from .synchronize import Event

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 92 Column: 9

              
    def Event(self):
        '''Returns an event object'''
        from .synchronize import Event
        return Event(ctx=self.get_context())

    def Barrier(self, parties, action=None, timeout=None):
        '''Returns a barrier object'''
        from .synchronize import Barrier

            

Reported by Pylint.

Lib/test/test_pkgutil.py
135 issues
Unable to import 'foo'
Error

Line: 359 Column: 9

                      # Ensure that get_data works without reloading - the "loads" module
        # variable in the example loader should count how many times a reload
        # occurs.
        import foo
        self.assertEqual(foo.loads, 1)
        self.assertEqual(pkgutil.get_data('foo', 'dummy'), "Hello, world!")
        self.assertEqual(foo.loads, 1)
        del sys.modules['foo']


            

Reported by Pylint.

Unable to import 'foo.bar'
Error

Line: 391 Column: 9

                      dirname_1 = self.create_init(pkgname)
        self.create_submodule(dirname_0, pkgname, 'bar', 0)
        self.create_submodule(dirname_1, pkgname, 'baz', 1)
        import foo.bar
        import foo.baz
        # Ensure we read the expected values
        self.assertEqual(foo.bar.value, 0)
        self.assertEqual(foo.baz.value, 1)


            

Reported by Pylint.

Unable to import 'foo.baz'
Error

Line: 392 Column: 9

                      self.create_submodule(dirname_0, pkgname, 'bar', 0)
        self.create_submodule(dirname_1, pkgname, 'baz', 1)
        import foo.bar
        import foo.baz
        # Ensure we read the expected values
        self.assertEqual(foo.bar.value, 0)
        self.assertEqual(foo.baz.value, 1)

        # Ensure the path is set up correctly

            

Reported by Pylint.

Unable to import 'foo.bar'
Error

Line: 470 Column: 9

                      # Turn this into a PEP 420 namespace package
        os.unlink(os.path.join(dirname_0, pkgname, '__init__.py'))
        self.create_submodule(dirname_1, pkgname, 'baz', 1)
        import foo.bar
        import foo.baz
        # Ensure we read the expected values
        self.assertEqual(foo.bar.value, 0)
        self.assertEqual(foo.baz.value, 1)


            

Reported by Pylint.

Unable to import 'foo.baz'
Error

Line: 471 Column: 9

                      os.unlink(os.path.join(dirname_0, pkgname, '__init__.py'))
        self.create_submodule(dirname_1, pkgname, 'baz', 1)
        import foo.bar
        import foo.baz
        # Ensure we read the expected values
        self.assertEqual(foo.bar.value, 0)
        self.assertEqual(foo.baz.value, 1)

        # Ensure the path is set up correctly

            

Reported by Pylint.

Unable to import 'pkg'
Error

Line: 522 Column: 9

                      self.create_module('b.pkg.subpkg.d', 'd = 2')
        sys.path.insert(0, os.path.join(self.basedir, 'a'))
        sys.path.insert(0, os.path.join(self.basedir, 'b'))
        import pkg
        self.addCleanup(unload, 'pkg')
        self.assertEqual(len(pkg.__path__), 2)
        import pkg.subpkg
        self.addCleanup(unload, 'pkg.subpkg')
        self.assertEqual(len(pkg.subpkg.__path__), 2)

            

Reported by Pylint.

Unable to import 'pkg.subpkg'
Error

Line: 525 Column: 9

                      import pkg
        self.addCleanup(unload, 'pkg')
        self.assertEqual(len(pkg.__path__), 2)
        import pkg.subpkg
        self.addCleanup(unload, 'pkg.subpkg')
        self.assertEqual(len(pkg.subpkg.__path__), 2)
        from pkg.subpkg.c import c
        from pkg.subpkg.d import d
        self.assertEqual(c, 1)

            

Reported by Pylint.

Unable to import 'pkg.subpkg.c'
Error

Line: 528 Column: 9

                      import pkg.subpkg
        self.addCleanup(unload, 'pkg.subpkg')
        self.assertEqual(len(pkg.subpkg.__path__), 2)
        from pkg.subpkg.c import c
        from pkg.subpkg.d import d
        self.assertEqual(c, 1)
        self.assertEqual(d, 2)



            

Reported by Pylint.

Unable to import 'pkg.subpkg.d'
Error

Line: 529 Column: 9

                      self.addCleanup(unload, 'pkg.subpkg')
        self.assertEqual(len(pkg.subpkg.__path__), 2)
        from pkg.subpkg.c import c
        from pkg.subpkg.d import d
        self.assertEqual(c, 1)
        self.assertEqual(d, 2)


class ImportlibMigrationTests(unittest.TestCase):

            

Reported by Pylint.

Context manager 'generator' doesn't implement __enter__ and __exit__.
Error

Line: 546 Column: 9

                           DeprecationWarning))

    def test_importer_deprecated(self):
        with self.check_deprecated():
            pkgutil.ImpImporter("")

    def test_loader_deprecated(self):
        with self.check_deprecated():
            pkgutil.ImpLoader("", "", "", "")

            

Reported by Pylint.

Lib/test/test_embed.py
134 issues
Module 'sys' has no 'platlibdir' member
Error

Line: 400 Column: 23

                      'base_exec_prefix': GET_DEFAULT_CONFIG,
        'module_search_paths': GET_DEFAULT_CONFIG,
        'module_search_paths_set': 1,
        'platlibdir': sys.platlibdir,

        'site_import': 1,
        'bytes_warning': 0,
        'warn_default_encoding': 0,
        'inspect': 0,

            

Reported by Pylint.

Module 'sys' has no 'platlibdir' member
Error

Line: 1176 Column: 38

                      else:
            ver = sys.version_info
            return [
                os.path.join(prefix, sys.platlibdir,
                             f'python{ver.major}{ver.minor}.zip'),
                os.path.join(prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}'),
                os.path.join(exec_prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}', 'lib-dynload'),

            

Reported by Pylint.

Module 'sys' has no 'platlibdir' member
Error

Line: 1178 Column: 38

                          return [
                os.path.join(prefix, sys.platlibdir,
                             f'python{ver.major}{ver.minor}.zip'),
                os.path.join(prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}'),
                os.path.join(exec_prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}', 'lib-dynload'),
            ]


            

Reported by Pylint.

Module 'sys' has no 'platlibdir' member
Error

Line: 1180 Column: 43

                                           f'python{ver.major}{ver.minor}.zip'),
                os.path.join(prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}'),
                os.path.join(exec_prefix, sys.platlibdir,
                             f'python{ver.major}.{ver.minor}', 'lib-dynload'),
            ]

    @contextlib.contextmanager
    def tmpdir_with_python(self):

            

Reported by Pylint.

Module 'sys' has no 'platlibdir' member
Error

Line: 1297 Column: 44

              
            if not MS_WINDOWS:
                lib_dynload = os.path.join(pyvenv_home,
                                           sys.platlibdir,
                                           f'python{ver.major}.{ver.minor}',
                                           'lib-dynload')
                os.makedirs(lib_dynload)
            else:
                lib_dynload = os.path.join(pyvenv_home, 'lib')

            

Reported by Pylint.

Redefining built-in 'input'
Error

Line: 76 Column: 62

                      os.chdir(self.oldcwd)

    def run_embedded_interpreter(self, *args, env=None,
                                 timeout=None, returncode=0, input=None,
                                 cwd=None):
        """Runs a test in the embedded interpreter"""
        cmd = [self.test_exe]
        cmd.extend(args)
        if env is not None and MS_WINDOWS:

            

Reported by Pylint.

Using an f-string that does not have any interpolated variables
Error

Line: 103 Column: 19

                          print(f"--- {cmd} failed ---")
            print(f"stdout:\n{out}")
            print(f"stderr:\n{err}")
            print(f"------")

        self.assertEqual(p.returncode, returncode,
                         "bad returncode %d, stderr is %r" %
                         (p.returncode, err))
        return out, err

            

Reported by Pylint.

XXX Fix on Windows (and other platforms): something
Error

Line: 184 Column: 3

                          main, *subs, _ = run

            if '0x0' in main:
                # XXX Fix on Windows (and other platforms): something
                # is going on with the pointers in Programs/_testembed.c.
                # interp.interp is 0x0 and interp.modules is the same
                # between interpreters.
                raise unittest.SkipTest('platform prints pointers as 0x0')


            

Reported by Pylint.

Using subprocess.run without explicitly set `check` is not recommended.
Error

Line: 552 Column: 16

                      # Use -S to not import the site module: get the proper configuration
        # when test_embed is run from a venv (bpo-35313)
        args = [sys.executable, '-S', '-c', code]
        proc = subprocess.run(args, env=env,
                              stdout=subprocess.PIPE,
                              stderr=subprocess.PIPE)
        if proc.returncode:
            raise Exception(f"failed to get the default config: "
                            f"stdout={proc.stdout!r} stderr={proc.stderr!r}")

            

Reported by Pylint.

Unused argument 'env'
Error

Line: 582 Column: 50

                      return configs

    def get_expected_config(self, expected_preconfig, expected,
                            expected_pathconfig, env, api,
                            modify_path_cb=None):
        cls = self.__class__
        configs = self._get_expected_config()

        pre_config = configs['pre_config']

            

Reported by Pylint.

Lib/test/test_interpreters.py
132 issues
Unused variable 'main'
Error

Line: 377 Column: 9

              
    @unittest.skip('Fails on FreeBSD')
    def test_still_running(self):
        main, = interpreters.list_all()
        interp = interpreters.create()
        with _running(interp):
            with self.assertRaises(RuntimeError):
                interp.close()
            self.assertTrue(interp.is_running())

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import contextlib
import os
import threading
from textwrap import dedent
import unittest
import time

import _xxsubinterpreters as _interpreters
from test.support import interpreters

            

Reported by Pylint.

standard import "from test.support import interpreters" should be placed before "import _xxsubinterpreters as _interpreters"
Error

Line: 9 Column: 1

              import time

import _xxsubinterpreters as _interpreters
from test.support import interpreters


def _captured_script(script):
    r, w = os.pipe()
    indented = script.replace('\n', '\n                ')

            

Reported by Pylint.

Variable name "r" doesn't conform to snake_case naming style
Error

Line: 13 Column: 5

              

def _captured_script(script):
    r, w = os.pipe()
    indented = script.replace('\n', '\n                ')
    wrapped = dedent(f"""
        import contextlib
        with open({w}, 'w', encoding='utf-8') as spipe:
            with contextlib.redirect_stdout(spipe):

            

Reported by Pylint.

Variable name "w" doesn't conform to snake_case naming style
Error

Line: 13 Column: 8

              

def _captured_script(script):
    r, w = os.pipe()
    indented = script.replace('\n', '\n                ')
    wrapped = dedent(f"""
        import contextlib
        with open({w}, 'w', encoding='utf-8') as spipe:
            with contextlib.redirect_stdout(spipe):

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 24 Column: 1

                  return wrapped, open(r, encoding='utf-8')


def clean_up_interpreters():
    for interp in interpreters.list_all():
        if interp.id == 0:  # main
            continue
        try:
            interp.close()

            

Reported by Pylint.

Variable name "w" doesn't conform to snake_case naming style
Error

Line: 43 Column: 8

              
@contextlib.contextmanager
def _running(interp):
    r, w = os.pipe()
    def run():
        interp.run(dedent(f"""
            # wait for "signal"
            with open({r}) as rpipe:
                rpipe.read()

            

Reported by Pylint.

Variable name "r" doesn't conform to snake_case naming style
Error

Line: 43 Column: 5

              
@contextlib.contextmanager
def _running(interp):
    r, w = os.pipe()
    def run():
        interp.run(dedent(f"""
            # wait for "signal"
            with open({r}) as rpipe:
                rpipe.read()

            

Reported by Pylint.

Variable name "t" doesn't conform to snake_case naming style
Error

Line: 51 Column: 5

                              rpipe.read()
            """))

    t = threading.Thread(target=run)
    t.start()

    yield

    with open(w, 'w') as spipe:

            

Reported by Pylint.

Missing class docstring
Error

Line: 61 Column: 1

                  t.join()


class TestBase(unittest.TestCase):

    def tearDown(self):
        clean_up_interpreters()



            

Reported by Pylint.

Lib/test/test_property.py
132 issues
Function 'spam' has no '__doc__' member
Error

Line: 113 Column: 26

                                   "Docstrings are omitted with -O2 and above")
    def test_property_decorator_baseclass_doc(self):
        base = BaseClass()
        self.assertEqual(base.__class__.spam.__doc__, "BaseClass.getter")

    def test_property_decorator_doc(self):
        base = PropertyDocBase()
        sub = PropertyDocSub()
        self.assertEqual(base.__class__.spam.__doc__, "spam spam spam")

            

Reported by Pylint.

Function '_get_spam' has no '__doc__' member
Error

Line: 118 Column: 26

                  def test_property_decorator_doc(self):
        base = PropertyDocBase()
        sub = PropertyDocSub()
        self.assertEqual(base.__class__.spam.__doc__, "spam spam spam")
        self.assertEqual(sub.__class__.spam.__doc__, "spam spam spam")

    @unittest.skipIf(sys.flags.optimize >= 2,
                     "Docstrings are omitted with -O2 and above")
    def test_property_getter_doc_override(self):

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 129 Column: 26

                      self.assertEqual(newgettersub.__class__.spam.__doc__, "new docstring")
        newgetter = PropertyNewGetter()
        self.assertEqual(newgetter.spam, 8)
        self.assertEqual(newgetter.__class__.spam.__doc__, "new docstring")

    def test_property___isabstractmethod__descriptor(self):
        for val in (True, False, [], [1], '', '1'):
            class C(object):
                def foo(self):

            

Reported by Pylint.

class already defined line 133
Error

Line: 147 Column: 13

                              raise ValueError()
            __len__ = __bool__
        with self.assertRaises(ValueError):
            class C(object):
                def foo(self):
                    pass
                foo.__isabstractmethod__ = NotBool()
                foo = property(foo)
            C.foo.__isabstractmethod__

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 173 Column: 26

                              return "eggs"

        sub = PropertyWritableDoc()
        self.assertEqual(sub.__class__.spam.__doc__, 'Eggs')
        sub.__class__.spam.__doc__ = 'Spam'
        self.assertEqual(sub.__class__.spam.__doc__, 'Spam')

    @support.refcount_test
    def test_refleaks_in___init__(self):

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 175 Column: 26

                      sub = PropertyWritableDoc()
        self.assertEqual(sub.__class__.spam.__doc__, 'Eggs')
        sub.__class__.spam.__doc__ = 'Spam'
        self.assertEqual(sub.__class__.spam.__doc__, 'Spam')

    @support.refcount_test
    def test_refleaks_in___init__(self):
        gettotalrefcount = support.get_attribute(sys, 'gettotalrefcount')
        fake_prop = property('fget', 'fset', 'fdel', 'doc')

            

Reported by Pylint.

Instance of 'property' has no '__set_name__' member
Error

Line: 215 Column: 17

                              TypeError,
                fr'^__set_name__\(\) takes 2 positional arguments but {i} were given$'
            ):
                p.__set_name__(*([0] * i))


# Issue 5890: subclasses of property do not preserve method __doc__ strings
class PropertySub(property):
    """This is a subclass of property"""

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 249 Column: 13

                              """spam wrapped in property subclass"""
                return 1
        self.assertEqual(
            Foo.spam.__doc__,
            "spam wrapped in property subclass")

    @unittest.skipIf(sys.flags.optimize >= 2,
                     "Docstrings are omitted with -O2 and above")
    def test_property_setter_copies_getter_docstring(self):

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 270 Column: 13

                      foo.spam = 2
        self.assertEqual(foo.spam, 2)
        self.assertEqual(
            Foo.spam.__doc__,
            "spam wrapped in property subclass")
        class FooSub(Foo):
            @Foo.spam.setter
            def spam(self, value):
                """another ignored docstring"""

            

Reported by Pylint.

Function 'spam' has no '__doc__' member
Error

Line: 298 Column: 26

                          def spam(self):
                """a new docstring"""
                return 2
        self.assertEqual(Foo.spam.__doc__, "a new docstring")
        class FooBase(object):
            @PropertySub
            def spam(self):
                """a docstring"""
                return 1

            

Reported by Pylint.

Lib/logging/config.py
131 issues
Cannot import 'traceback' due to syntax error 'invalid syntax (<unknown>, line 576)'
Error

Line: 35 Column: 1

              import struct
import sys
import threading
import traceback

from socketserver import ThreadingTCPServer, StreamRequestHandler


DEFAULT_LOGGING_CONFIG_PORT = 9030

            

Reported by Pylint.

Access to a protected member _acquireLock of a client class
Error

Line: 75 Column: 5

                  formatters = _create_formatters(cp)

    # critical section
    logging._acquireLock()
    try:
        _clearExistingHandlers()

        # Handlers add themselves to logging._handlers
        handlers = _install_handlers(cp, formatters)

            

Reported by Pylint.

Access to a protected member _releaseLock of a client class
Error

Line: 83 Column: 9

                      handlers = _install_handlers(cp, formatters)
        _install_loggers(cp, handlers, disable_existing_loggers)
    finally:
        logging._releaseLock()


def _resolve(name):
    """Resolve a dotted name to a global object."""
    name = name.split('.')

            

Reported by Pylint.

Use of possibly insecure function - consider using safer ast.literal_eval.
Security blacklist

Line: 139
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b307-eval

                      klass = section["class"]
        fmt = section.get("formatter", "")
        try:
            klass = eval(klass, vars(logging))
        except (AttributeError, NameError):
            klass = _resolve(klass)
        args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')

            

Reported by Bandit.

Use of eval
Error

Line: 139 Column: 21

                      klass = section["class"]
        fmt = section.get("formatter", "")
        try:
            klass = eval(klass, vars(logging))
        except (AttributeError, NameError):
            klass = _resolve(klass)
        args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')

            

Reported by Pylint.

Use of eval
Error

Line: 143 Column: 16

                      except (AttributeError, NameError):
            klass = _resolve(klass)
        args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')
        kwargs = eval(kwargs, vars(logging))
        h = klass(*args, **kwargs)
        h.name = hand
        if "level" in section:

            

Reported by Pylint.

Use of possibly insecure function - consider using safer ast.literal_eval.
Security blacklist

Line: 143
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b307-eval

                      except (AttributeError, NameError):
            klass = _resolve(klass)
        args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')
        kwargs = eval(kwargs, vars(logging))
        h = klass(*args, **kwargs)
        h.name = hand
        if "level" in section:

            

Reported by Bandit.

Use of possibly insecure function - consider using safer ast.literal_eval.
Security blacklist

Line: 145
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b307-eval

                      args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')
        kwargs = eval(kwargs, vars(logging))
        h = klass(*args, **kwargs)
        h.name = hand
        if "level" in section:
            level = section["level"]
            h.setLevel(level)

            

Reported by Bandit.

Use of eval
Error

Line: 145 Column: 18

                      args = section.get("args", '()')
        args = eval(args, vars(logging))
        kwargs = section.get("kwargs", '{}')
        kwargs = eval(kwargs, vars(logging))
        h = klass(*args, **kwargs)
        h.name = hand
        if "level" in section:
            level = section["level"]
            h.setLevel(level)

            

Reported by Pylint.

Access to a protected member _handlers of a client class
Error

Line: 274 Column: 5

              
def _clearExistingHandlers():
    """Clear and close existing handlers"""
    logging._handlers.clear()
    logging.shutdown(logging._handlerList[:])
    del logging._handlerList[:]


IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I)

            

Reported by Pylint.

Lib/importlib/_bootstrap_external.py
131 issues
Unable to import 'nt'
Error

Line: 35 Column: 5

              
_MS_WINDOWS = (sys.platform == 'win32')
if _MS_WINDOWS:
    import nt as _os
    import winreg
else:
    import posix as _os



            

Reported by Pylint.

Unable to import 'winreg'
Error

Line: 36 Column: 5

              _MS_WINDOWS = (sys.platform == 'win32')
if _MS_WINDOWS:
    import nt as _os
    import winreg
else:
    import posix as _os


if _MS_WINDOWS:

            

Reported by Pylint.

Instance of '_LoaderBasics' has no 'get_filename' member
Error

Line: 880 Column: 32

                  def is_package(self, fullname):
        """Concrete implementation of InspectLoader.is_package by checking if
        the path returned by get_filename has a filename of '__init__.py'."""
        filename = _path_split(self.get_filename(fullname))[1]
        filename_base = filename.rsplit('.', 1)[0]
        tail_name = fullname.rpartition('.')[2]
        return filename_base == '__init__' and tail_name != '__init__'

    def create_module(self, spec):

            

Reported by Pylint.

Instance of '_LoaderBasics' has no 'get_code' member
Error

Line: 890 Column: 16

              
    def exec_module(self, module):
        """Execute the module."""
        code = self.get_code(module.__name__)
        if code is None:
            raise ImportError('cannot load module {!r} when get_code() '
                              'returns None'.format(module.__name__))
        _bootstrap._call_with_frames_removed(exec, code, module.__dict__)


            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_filename' member
Error

Line: 945 Column: 16

              
    def get_source(self, fullname):
        """Concrete implementation of InspectLoader.get_source."""
        path = self.get_filename(fullname)
        try:
            source_bytes = self.get_data(path)
        except OSError as exc:
            raise ImportError('source not available through get_data()',
                              name=fullname) from exc

            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_data' member; maybe 'set_data'?
Error

Line: 947 Column: 28

                      """Concrete implementation of InspectLoader.get_source."""
        path = self.get_filename(fullname)
        try:
            source_bytes = self.get_data(path)
        except OSError as exc:
            raise ImportError('source not available through get_data()',
                              name=fullname) from exc
        return decode_source(source_bytes)


            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_filename' member
Error

Line: 968 Column: 23

                      bytecode, set_data must also be implemented.

        """
        source_path = self.get_filename(fullname)
        source_mtime = None
        source_bytes = None
        source_hash = None
        hash_based = False
        check_source = True

            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_data' member; maybe 'set_data'?
Error

Line: 986 Column: 28

                          else:
                source_mtime = int(st['mtime'])
                try:
                    data = self.get_data(bytecode_path)
                except OSError:
                    pass
                else:
                    exc_details = {
                        'name': fullname,

            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_data' member; maybe 'set_data'?
Error

Line: 1003 Column: 48

                                          if (_imp.check_hash_based_pycs != 'never' and
                                (check_source or
                                 _imp.check_hash_based_pycs == 'always')):
                                source_bytes = self.get_data(source_path)
                                source_hash = _imp.source_hash(
                                    _RAW_MAGIC_NUMBER,
                                    source_bytes,
                                )
                                _validate_hash_pyc(data, source_hash, fullname,

            

Reported by Pylint.

Instance of 'SourceLoader' has no 'get_data' member; maybe 'set_data'?
Error

Line: 1027 Column: 28

                                                               bytecode_path=bytecode_path,
                                                 source_path=source_path)
        if source_bytes is None:
            source_bytes = self.get_data(source_path)
        code_object = self.source_to_code(source_bytes, source_path)
        _bootstrap._verbose_message('code object from {}', source_path)
        if (not sys.dont_write_bytecode and bytecode_path is not None and
                source_mtime is not None):
            if hash_based:

            

Reported by Pylint.

Lib/test/test_module.py
130 issues
Instance of 'module' has no '__name__' member
Error

Line: 53 Column: 26

                  def test_no_docstring(self):
        # Regularly initialized module, no docstring
        foo = ModuleType("foo")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, None)
        self.assertIs(foo.__loader__, None)
        self.assertIs(foo.__package__, None)
        self.assertIs(foo.__spec__, None)
        self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None,

            

Reported by Pylint.

Instance of 'module' has no '__loader__' member
Error

Line: 55 Column: 23

                      foo = ModuleType("foo")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, None)
        self.assertIs(foo.__loader__, None)
        self.assertIs(foo.__package__, None)
        self.assertIs(foo.__spec__, None)
        self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None,
                                        "__loader__": None, "__package__": None,
                                        "__spec__": None})

            

Reported by Pylint.

Instance of 'module' has no '__package__' member
Error

Line: 56 Column: 23

                      self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, None)
        self.assertIs(foo.__loader__, None)
        self.assertIs(foo.__package__, None)
        self.assertIs(foo.__spec__, None)
        self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None,
                                        "__loader__": None, "__package__": None,
                                        "__spec__": None})


            

Reported by Pylint.

Instance of 'module' has no '__spec__' member
Error

Line: 57 Column: 23

                      self.assertEqual(foo.__doc__, None)
        self.assertIs(foo.__loader__, None)
        self.assertIs(foo.__package__, None)
        self.assertIs(foo.__spec__, None)
        self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None,
                                        "__loader__": None, "__package__": None,
                                        "__spec__": None})

    def test_ascii_docstring(self):

            

Reported by Pylint.

Instance of 'module' has no '__name__' member
Error

Line: 65 Column: 26

                  def test_ascii_docstring(self):
        # ASCII docstring
        foo = ModuleType("foo", "foodoc")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, "foodoc")
        self.assertEqual(foo.__dict__,
                         {"__name__": "foo", "__doc__": "foodoc",
                          "__loader__": None, "__package__": None,
                          "__spec__": None})

            

Reported by Pylint.

Instance of 'module' has no '__name__' member
Error

Line: 75 Column: 26

                  def test_unicode_docstring(self):
        # Unicode docstring
        foo = ModuleType("foo", "foodoc\u1234")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, "foodoc\u1234")
        self.assertEqual(foo.__dict__,
                         {"__name__": "foo", "__doc__": "foodoc\u1234",
                          "__loader__": None, "__package__": None,
                          "__spec__": None})

            

Reported by Pylint.

Instance of 'module' has no '__name__' member
Error

Line: 88 Column: 26

                      foo.bar = 42
        d = foo.__dict__
        foo.__init__("foo", "foodoc")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, "foodoc")
        self.assertEqual(foo.bar, 42)
        self.assertEqual(foo.__dict__,
              {"__name__": "foo", "__doc__": "foodoc", "bar": 42,
               "__loader__": None, "__package__": None, "__spec__": None})

            

Reported by Pylint.

Instance of 'module' has no 'bar' member
Error

Line: 90 Column: 26

                      foo.__init__("foo", "foodoc")
        self.assertEqual(foo.__name__, "foo")
        self.assertEqual(foo.__doc__, "foodoc")
        self.assertEqual(foo.bar, 42)
        self.assertEqual(foo.__dict__,
              {"__name__": "foo", "__doc__": "foodoc", "bar": 42,
               "__loader__": None, "__package__": None, "__spec__": None})
        self.assertTrue(foo.__dict__ is d)


            

Reported by Pylint.

No name 'test' in module 'test.good_getattr'
Error

Line: 130 Column: 9

              
    def test_module_getattr(self):
        import test.good_getattr as gga
        from test.good_getattr import test
        self.assertEqual(test, "There is test")
        self.assertEqual(gga.x, 1)
        self.assertEqual(gga.y, 2)
        with self.assertRaisesRegex(AttributeError,
                                    "Deprecated, use whatever instead"):

            

Reported by Pylint.

Instance of 'module' has no '__name__' member
Error

Line: 182 Column: 13

                  def test_module_repr_minimal(self):
        # reprs when modules have no __file__, __name__, or __loader__
        m = ModuleType('foo')
        del m.__name__
        self.assertEqual(repr(m), "<module '?'>")

    def test_module_repr_with_name(self):
        m = ModuleType('foo')
        self.assertEqual(repr(m), "<module 'foo'>")

            

Reported by Pylint.