The following issues were found

Lib/ipaddress.py
195 issues
Instance of '_IPAddressBase' has no '_explode_shorthand_ip_string' member
Error

Line: 395 Column: 16

                  @property
    def exploded(self):
        """Return the longhand version of the IP address as a string."""
        return self._explode_shorthand_ip_string()

    @property
    def compressed(self):
        """Return the shorthand version of the IP address as a string."""
        return str(self)

            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_reverse_pointer' member; maybe 'reverse_pointer'?
Error

Line: 411 Column: 16

                          '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'

        """
        return self._reverse_pointer()

    @property
    def version(self):
        msg = '%200s has no version specified' % (type(self),)
        raise NotImplementedError(msg)

            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_version' member; maybe 'version'?
Error

Line: 421 Column: 53

                  def _check_int_address(self, address):
        if address < 0:
            msg = "%d (< 0) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._version))
        if address > self._ALL_ONES:
            msg = "%d (>= 2**%d) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._max_prefixlen,
                                           self._version))


            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_ALL_ONES' member
Error

Line: 422 Column: 22

                      if address < 0:
            msg = "%d (< 0) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._version))
        if address > self._ALL_ONES:
            msg = "%d (>= 2**%d) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._max_prefixlen,
                                           self._version))

    def _check_packed_address(self, address, expected_len):

            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_max_prefixlen' member
Error

Line: 424 Column: 53

                          raise AddressValueError(msg % (address, self._version))
        if address > self._ALL_ONES:
            msg = "%d (>= 2**%d) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._max_prefixlen,
                                           self._version))

    def _check_packed_address(self, address, expected_len):
        address_len = len(address)
        if address_len != expected_len:

            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_version' member; maybe 'version'?
Error

Line: 425 Column: 44

                      if address > self._ALL_ONES:
            msg = "%d (>= 2**%d) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, self._max_prefixlen,
                                           self._version))

    def _check_packed_address(self, address, expected_len):
        address_len = len(address)
        if address_len != expected_len:
            msg = "%r (len %d != %d) is not permitted as an IPv%d address"

            

Reported by Pylint.

Instance of '_IPAddressBase' has no '_version' member; maybe 'version'?
Error

Line: 432 Column: 58

                      if address_len != expected_len:
            msg = "%r (len %d != %d) is not permitted as an IPv%d address"
            raise AddressValueError(msg % (address, address_len,
                                           expected_len, self._version))

    @classmethod
    def _ip_int_from_prefix(cls, prefixlen):
        """Turn the prefix length into a bitwise netmask


            

Reported by Pylint.

Class '_IPAddressBase' has no '_ALL_ONES' member
Error

Line: 445 Column: 16

                          An integer.

        """
        return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen)

    @classmethod
    def _prefix_from_ip_int(cls, ip_int):
        """Return prefix length from the bitwise netmask.


            

Reported by Pylint.

Class '_IPAddressBase' has no '_ALL_ONES' member
Error

Line: 445 Column: 33

                          An integer.

        """
        return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen)

    @classmethod
    def _prefix_from_ip_int(cls, ip_int):
        """Return prefix length from the bitwise netmask.


            

Reported by Pylint.

Class '_IPAddressBase' has no '_max_prefixlen' member
Error

Line: 461 Column: 54

                          ValueError: If the input intermingles zeroes & ones
        """
        trailing_zeroes = _count_righthand_zero_bits(ip_int,
                                                     cls._max_prefixlen)
        prefixlen = cls._max_prefixlen - trailing_zeroes
        leading_ones = ip_int >> trailing_zeroes
        all_ones = (1 << prefixlen) - 1
        if leading_ones != all_ones:
            byteslen = cls._max_prefixlen // 8

            

Reported by Pylint.

Lib/test/test_asyncio/test_streams.py
195 issues
Generator 'generator' has no 'address' member
Error

Line: 59 Column: 49

              
    def test_open_connection(self):
        with test_utils.run_test_server() as httpd:
            conn_fut = asyncio.open_connection(*httpd.address)
            self._basetest_open_connection(conn_fut)

    @socket_helper.skip_unless_bind_unix_socket
    def test_open_unix_connection(self):
        with test_utils.run_test_unix_server() as httpd:

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 65 Column: 53

                  @socket_helper.skip_unless_bind_unix_socket
    def test_open_unix_connection(self):
        with test_utils.run_test_unix_server() as httpd:
            conn_fut = asyncio.open_unix_connection(httpd.address)
            self._basetest_open_connection(conn_fut)

    def _basetest_open_connection_no_loop_ssl(self, open_connection_fut):
        messages = []
        self.loop.set_exception_handler(lambda loop, ctx: messages.append(ctx))

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 87 Column: 18

                  def test_open_connection_no_loop_ssl(self):
        with test_utils.run_test_server(use_ssl=True) as httpd:
            conn_fut = asyncio.open_connection(
                *httpd.address,
                ssl=test_utils.dummy_ssl_context())

            self._basetest_open_connection_no_loop_ssl(conn_fut)

    @socket_helper.skip_unless_bind_unix_socket

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 97 Column: 17

                  def test_open_unix_connection_no_loop_ssl(self):
        with test_utils.run_test_unix_server(use_ssl=True) as httpd:
            conn_fut = asyncio.open_unix_connection(
                httpd.address,
                ssl=test_utils.dummy_ssl_context(),
                server_hostname='',
            )

            self._basetest_open_connection_no_loop_ssl(conn_fut)

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 118 Column: 49

              
    def test_open_connection_error(self):
        with test_utils.run_test_server() as httpd:
            conn_fut = asyncio.open_connection(*httpd.address)
            self._basetest_open_connection_error(conn_fut)

    @socket_helper.skip_unless_bind_unix_socket
    def test_open_unix_connection_error(self):
        with test_utils.run_test_unix_server() as httpd:

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 124 Column: 53

                  @socket_helper.skip_unless_bind_unix_socket
    def test_open_unix_connection_error(self):
        with test_utils.run_test_unix_server() as httpd:
            conn_fut = asyncio.open_unix_connection(httpd.address)
            self._basetest_open_connection_error(conn_fut)

    def test_feed_empty_data(self):
        stream = asyncio.StreamReader(loop=self.loop)


            

Reported by Pylint.

function already defined line 290
Error

Line: 304 Column: 9

                      self.assertEqual(b'', stream._buffer)

        stream = asyncio.StreamReader(limit=7, loop=self.loop)
        def cb():
            stream.feed_data(b'chunk1')
            stream.feed_data(b'chunk2\n')
            stream.feed_data(b'chunk3\n')
            stream.feed_eof()
        self.loop.call_soon(cb)

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 910 Column: 42

                  def test_wait_closed_on_close(self):
        with test_utils.run_test_server() as httpd:
            rd, wr = self.loop.run_until_complete(
                asyncio.open_connection(*httpd.address))

            wr.write(b'GET / HTTP/1.0\r\n\r\n')
            f = rd.readline()
            data = self.loop.run_until_complete(f)
            self.assertEqual(data, b'HTTP/1.0 200 OK\r\n')

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 927 Column: 42

                  def test_wait_closed_on_close_with_unread_data(self):
        with test_utils.run_test_server() as httpd:
            rd, wr = self.loop.run_until_complete(
                asyncio.open_connection(*httpd.address))

            wr.write(b'GET / HTTP/1.0\r\n\r\n')
            f = rd.readline()
            data = self.loop.run_until_complete(f)
            self.assertEqual(data, b'HTTP/1.0 200 OK\r\n')

            

Reported by Pylint.

Generator 'generator' has no 'address' member
Error

Line: 985 Column: 46

              
        with test_utils.run_test_server() as httpd:
            rd, wr = self.loop.run_until_complete(
                    asyncio.open_connection(*httpd.address))

            wr.close()
            f = wr.wait_closed()
            self.loop.run_until_complete(f)
            assert rd.at_eof()

            

Reported by Pylint.

Lib/lib2to3/tests/test_parser.py
194 issues
Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              """

# Testing imports
from . import support
from .support import driver, driver_no_print_statement

# Python imports
import difflib
import importlib

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 11 Column: 1

              
# Testing imports
from . import support
from .support import driver, driver_no_print_statement

# Python imports
import difflib
import importlib
import operator

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 28 Column: 1

              # Local imports
from lib2to3.pgen2 import driver as pgen2_driver
from lib2to3.pgen2 import tokenize
from ..pgen2.parse import ParseError
from lib2to3.pygram import python_symbols as syms


class TestDriver(support.TestCase):


            

Reported by Pylint.

Instance of 'Symbols' has no 'print_stmt' member
Error

Line: 37 Column: 58

                  def test_formfeed(self):
        s = """print 1\n\x0Cprint 2\n"""
        t = driver.parse_string(s)
        self.assertEqual(t.children[0].children[0].type, syms.print_stmt)
        self.assertEqual(t.children[1].children[0].type, syms.print_stmt)


class TestPgen2Caching(support.TestCase):
    def test_load_grammar_from_txt_file(self):

            

Reported by Pylint.

Instance of 'Symbols' has no 'print_stmt' member
Error

Line: 38 Column: 58

                      s = """print 1\n\x0Cprint 2\n"""
        t = driver.parse_string(s)
        self.assertEqual(t.children[0].children[0].type, syms.print_stmt)
        self.assertEqual(t.children[1].children[0].type, syms.print_stmt)


class TestPgen2Caching(support.TestCase):
    def test_load_grammar_from_txt_file(self):
        pgen2_driver.load_grammar(support.grammar_path, save=False, force=True)

            

Reported by Pylint.

Access to a protected member _generate_pickle_name of a client class
Error

Line: 53 Column: 27

                          grammar_copy = os.path.join(
                    tmpdir, os.path.basename(support.grammar_path))
            shutil.copy(support.grammar_path, grammar_copy)
            pickle_name = pgen2_driver._generate_pickle_name(grammar_copy)

            pgen2_driver.load_grammar(grammar_copy, save=True, force=True)
            self.assertTrue(os.path.exists(pickle_name))

            os.unlink(grammar_copy)  # Only the pickle remains...

            

Reported by Pylint.

Access to a protected member _generate_pickle_name of a client class
Error

Line: 74 Column: 27

                          grammar_sub_copy = os.path.join(tmpsubdir, grammar_base)
            shutil.copy(support.grammar_path, grammar_copy)
            shutil.copy(support.grammar_path, grammar_sub_copy)
            pickle_name = pgen2_driver._generate_pickle_name(grammar_copy)
            pickle_sub_name = pgen2_driver._generate_pickle_name(
                     grammar_sub_copy)
            self.assertNotEqual(pickle_name, pickle_sub_name)

            # Generate a pickle file from this process.

            

Reported by Pylint.

Access to a protected member _generate_pickle_name of a client class
Error

Line: 75 Column: 31

                          shutil.copy(support.grammar_path, grammar_copy)
            shutil.copy(support.grammar_path, grammar_sub_copy)
            pickle_name = pgen2_driver._generate_pickle_name(grammar_copy)
            pickle_sub_name = pgen2_driver._generate_pickle_name(
                     grammar_sub_copy)
            self.assertNotEqual(pickle_name, pickle_sub_name)

            # Generate a pickle file from this process.
            pgen2_driver.load_grammar(grammar_copy, save=True, force=True)

            

Reported by Pylint.

Unused argument 'where'
Error

Line: 111 Column: 32

                  def test_load_packaged_grammar(self):
        modname = __name__ + '.load_test'
        class MyLoader:
            def get_data(self, where):
                return pickle.dumps({'elephant': 19})
        class MyModule:
            __file__ = 'parsertestmodule'
            __spec__ = importlib.util.spec_from_loader(modname, MyLoader())
        sys.modules[modname] = MyModule()

            

Reported by Pylint.

Parameters differ from overridden 'validate' method
Error

Line: 618 Column: 5

              
class TestLiterals(GrammarTest):

    def validate(self, s):
        driver.parse_string(support.dedent(s) + "\n\n")

    def test_multiline_bytes_literals(self):
        s = """
            md5test(b"\xaa" * 80,

            

Reported by Pylint.

Tools/gdb/libpython.py
194 issues
Unable to import 'gdb'
Error

Line: 48 Column: 1

              # compatible (2.6+ and 3.0+).  See #19308.

from __future__ import print_function
import gdb
import os
import locale
import sys

if sys.version_info[0] >= 3:

            

Reported by Pylint.

Undefined variable 'unicode'
Error

Line: 130 Column: 29

                      # Write a byte or unicode string to file. Unicode strings are encoded to
        # ENCODING encoding with 'backslashreplace' error handler to avoid
        # UnicodeEncodeError.
        if isinstance(text, unicode):
            text = text.encode(ENCODING, 'backslashreplace')
        file.write(text)

try:
    os_fsencode = os.fsencode

            

Reported by Pylint.

Undefined variable 'unicode'
Error

Line: 138 Column: 37

                  os_fsencode = os.fsencode
except AttributeError:
    def os_fsencode(filename):
        if not isinstance(filename, unicode):
            return filename
        encoding = sys.getfilesystemencoding()
        if encoding == 'mbcs':
            # mbcs doesn't support surrogateescape
            return filename.encode(encoding)

            

Reported by Pylint.

Unused argument 'visited'
Error

Line: 284 Column: 24

                      except (NullPyObjectPtr, RuntimeError, UnicodeDecodeError):
            return 'unknown'

    def proxyval(self, visited):
        '''
        Scrape a value from the inferior process, and try to represent it
        within the gdb process, whilst (hopefully) avoiding crashes when
        the remote data is corrupt.


            

Reported by Pylint.

Invalid assignment to cls in method
Error

Line: 408 Column: 13

                      '''
        try:
            p = PyObjectPtr(gdbval)
            cls = cls.subclass_from_type(p.type())
            return cls(gdbval, cast_to=cls.get_gdb_type())
        except RuntimeError:
            # Handle any kind of error e.g. NULL ptrs by simply using the base
            # class
            pass

            

Reported by Pylint.

Access to a protected member _type_size_t of a client class
Error

Line: 479 Column: 8

                                                          self.address)

def _PyObject_VAR_SIZE(typeobj, nitems):
    if _PyObject_VAR_SIZE._type_size_t is None:
        _PyObject_VAR_SIZE._type_size_t = gdb.lookup_type('size_t')

    return ( ( typeobj.field('tp_basicsize') +
               nitems * typeobj.field('tp_itemsize') +
               (_sizeof_void_p() - 1)

            

Reported by Pylint.

Access to a protected member _type_size_t of a client class
Error

Line: 480 Column: 9

              
def _PyObject_VAR_SIZE(typeobj, nitems):
    if _PyObject_VAR_SIZE._type_size_t is None:
        _PyObject_VAR_SIZE._type_size_t = gdb.lookup_type('size_t')

    return ( ( typeobj.field('tp_basicsize') +
               nitems * typeobj.field('tp_itemsize') +
               (_sizeof_void_p() - 1)
             ) & ~(_sizeof_void_p() - 1)

            

Reported by Pylint.

Access to a protected member _type_size_t of a client class
Error

Line: 486 Column: 19

                             nitems * typeobj.field('tp_itemsize') +
               (_sizeof_void_p() - 1)
             ) & ~(_sizeof_void_p() - 1)
           ).cast(_PyObject_VAR_SIZE._type_size_t)
_PyObject_VAR_SIZE._type_size_t = None

class HeapTypeObjectPtr(PyObjectPtr):
    _typename = 'PyObject'


            

Reported by Pylint.

Access to a protected member _type_size_t of a client class
Error

Line: 487 Column: 1

                             (_sizeof_void_p() - 1)
             ) & ~(_sizeof_void_p() - 1)
           ).cast(_PyObject_VAR_SIZE._type_size_t)
_PyObject_VAR_SIZE._type_size_t = None

class HeapTypeObjectPtr(PyObjectPtr):
    _typename = 'PyObject'

    def get_attr_dict(self):

            

Reported by Pylint.

__init__ method from base class 'Exception' is not called
Error

Line: 556 Column: 5

                                           self.safe_tp_name(), pyop_attrdict, self.as_address())

class ProxyException(Exception):
    def __init__(self, tp_name, args):
        self.tp_name = tp_name
        self.args = args

    def __repr__(self):
        return '%s%r' % (self.tp_name, self.args)

            

Reported by Pylint.

Lib/test/test_super.py
193 issues
Method should have "self" as first argument
Error

Line: 30 Column: 5

              class D(C, B):
    def f(self):
        return super().f() + 'D'
    def cm(cls):
        return (cls, super().cm(), 'D')

class E(D):
    pass


            

Reported by Pylint.

class already defined line 89
Error

Line: 96 Column: 9

                      x = X()
        self.assertEqual(x.f(), 'A')
        self.assertEqual(x.__class__, 413)
        class X:
            x = __class__
            def f():
                __class__
        self.assertIs(X.x, type(self))
        with self.assertRaises(NameError) as e:

            

Reported by Pylint.

Using variable '__class__' before assignment
Error

Line: 97 Column: 17

                      self.assertEqual(x.f(), 'A')
        self.assertEqual(x.__class__, 413)
        class X:
            x = __class__
            def f():
                __class__
        self.assertIs(X.x, type(self))
        with self.assertRaises(NameError) as e:
            exec("""class X:

            

Reported by Pylint.

Method has no argument
Error

Line: 98 Column: 13

                      self.assertEqual(x.__class__, 413)
        class X:
            x = __class__
            def f():
                __class__
        self.assertIs(X.x, type(self))
        with self.assertRaises(NameError) as e:
            exec("""class X:
                __class__

            

Reported by Pylint.

class already defined line 89
Error

Line: 107 Column: 9

                              def f():
                    __class__""", globals(), {})
        self.assertIs(type(e.exception), NameError) # Not UnboundLocalError
        class X:
            global __class__
            __class__ = 42
            def f():
                __class__
        self.assertEqual(globals()["__class__"], 42)

            

Reported by Pylint.

Method has no argument
Error

Line: 110 Column: 13

                      class X:
            global __class__
            __class__ = 42
            def f():
                __class__
        self.assertEqual(globals()["__class__"], 42)
        del globals()["__class__"]
        self.assertNotIn("__class__", X.__dict__)
        class X:

            

Reported by Pylint.

class already defined line 89
Error

Line: 115 Column: 9

                      self.assertEqual(globals()["__class__"], 42)
        del globals()["__class__"]
        self.assertNotIn("__class__", X.__dict__)
        class X:
            nonlocal __class__
            __class__ = 42
            def f():
                __class__
        self.assertEqual(__class__, 42)

            

Reported by Pylint.

nonlocal name __class__ found without binding
Error

Line: 116 Column: 13

                      del globals()["__class__"]
        self.assertNotIn("__class__", X.__dict__)
        class X:
            nonlocal __class__
            __class__ = 42
            def f():
                __class__
        self.assertEqual(__class__, 42)


            

Reported by Pylint.

Method has no argument
Error

Line: 118 Column: 13

                      class X:
            nonlocal __class__
            __class__ = 42
            def f():
                __class__
        self.assertEqual(__class__, 42)

    def test___class___instancemethod(self):
        # See issue #14857

            

Reported by Pylint.

Class 'B' has no 'f' member
Error

Line: 182 Column: 23

                      self.assertIs(A, None)

        B = type("B", (), test_namespace)
        self.assertIs(B.f(), B)

    def test___class___mro(self):
        # See issue #23722
        test_class = None


            

Reported by Pylint.

Lib/test/test_pprint.py
193 issues
Too many positional arguments for constructor call
Error

Line: 140 Column: 18

                      pp = pprint.PrettyPrinter(4, 40, 5, io.StringIO())
        pp = pprint.PrettyPrinter(sort_dicts=False)
        with self.assertRaises(TypeError):
            pp = pprint.PrettyPrinter(4, 40, 5, io.StringIO(), True)
        self.assertRaises(ValueError, pprint.PrettyPrinter, indent=-1)
        self.assertRaises(ValueError, pprint.PrettyPrinter, depth=0)
        self.assertRaises(ValueError, pprint.PrettyPrinter, depth=-1)
        self.assertRaises(ValueError, pprint.PrettyPrinter, width=0)


            

Reported by Pylint.

Redefining built-in 'hash'
Error

Line: 109 Column: 24

              
# Class Orderable is orderable with any type
class Orderable:
    def __init__(self, hash):
        self._hash = hash
    def __lt__(self, other):
        return False
    def __gt__(self, other):
        return self != other

            

Reported by Pylint.

Unused variable 'pp'
Error

Line: 134 Column: 9

                      self.a[-12] = self.b

    def test_init(self):
        pp = pprint.PrettyPrinter()
        pp = pprint.PrettyPrinter(indent=4, width=40, depth=5,
                                  stream=io.StringIO(), compact=True)
        pp = pprint.PrettyPrinter(4, 40, 5, io.StringIO())
        pp = pprint.PrettyPrinter(sort_dicts=False)
        with self.assertRaises(TypeError):

            

Reported by Pylint.

Attribute 'd' defined outside __init__
Error

Line: 175 Column: 9

                      # Tie a knot.
        self.b[67] = self.a
        # Messy dict.
        self.d = {}
        self.d[0] = self.d[1] = self.d[2] = self.d

        pp = pprint.PrettyPrinter()

        for icky in self.a, self.b, self.d, (self.d, self.d):

            

Reported by Pylint.

Redefining built-in 'type'
Error

Line: 296 Column: 13

               'main_code_runtime_us': 0,
 'read_io_runtime_us': 0,
 'write_io_runtime_us': 43690}"""
        for type in [dict, dict2]:
            self.assertEqual(pprint.pformat(type(o)), exp)

        o = range(100)
        exp = '[%s]' % ',\n '.join(map(str, o))
        for type in [list, list2]:

            

Reported by Pylint.

Use of eval
Error

Line: 341 Column: 13

               set2({1, 23}),
 [[[[[1, 2, 3],
     '1 2']]]]]"""
        o = eval(expected)
        self.assertEqual(pprint.pformat(o, width=15), expected)
        self.assertEqual(pprint.pformat(o, width=16), expected)
        self.assertEqual(pprint.pformat(o, width=25), expected)
        self.assertEqual(pprint.pformat(o, width=14), """\
[[[[[[1,

            

Reported by Pylint.

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

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

               set2({1, 23}),
 [[[[[1, 2, 3],
     '1 2']]]]]"""
        o = eval(expected)
        self.assertEqual(pprint.pformat(o, width=15), expected)
        self.assertEqual(pprint.pformat(o, width=16), expected)
        self.assertEqual(pprint.pformat(o, width=25), expected)
        self.assertEqual(pprint.pformat(o, width=14), """\
[[[[[[1,

            

Reported by Bandit.

XXX Or changes to the dictionary implementation...
Error

Line: 646 Column: 3

                      # Consequently, this test is fragile and
        # implementation-dependent.  Small changes to Python's sort
        # algorithm cause the test to fail when it should pass.
        # XXX Or changes to the dictionary implementation...

        cube_repr_tgt = """\
{frozenset(): frozenset({frozenset({2}), frozenset({0}), frozenset({1})}),
 frozenset({0}): frozenset({frozenset(),
                            frozenset({0, 2}),

            

Reported by Pylint.

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

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

                      special *= 10
        for width in range(3, 40):
            formatted = pprint.pformat(special, width=width)
            self.assertEqual(eval(formatted), special)
            formatted = pprint.pformat([special] * 2, width=width)
            self.assertEqual(eval(formatted), [special] * 2)

    def test_compact(self):
        o = ([list(range(i * i)) for i in range(5)] +

            

Reported by Bandit.

Use of eval
Error

Line: 949 Column: 30

                      special *= 10
        for width in range(3, 40):
            formatted = pprint.pformat(special, width=width)
            self.assertEqual(eval(formatted), special)
            formatted = pprint.pformat([special] * 2, width=width)
            self.assertEqual(eval(formatted), [special] * 2)

    def test_compact(self):
        o = ([list(range(i * i)) for i in range(5)] +

            

Reported by Pylint.

Lib/ctypes/test/test_bitfields.py
192 issues
class already defined line 154
Error

Line: 158 Column: 13

                              _fields_ = [("a", c_typ, 1)]
            self.assertEqual(sizeof(X), sizeof(c_typ))

            class X(Structure):
                _fields_ = [("a", c_typ, sizeof(c_typ)*8)]
            self.assertEqual(sizeof(X), sizeof(c_typ))

            result = self.fail_fields(("a", c_typ, sizeof(c_typ)*8 + 1))
            self.assertEqual(result, (ValueError, 'number of bits invalid for bit field'))

            

Reported by Pylint.

class already defined line 166
Error

Line: 172 Column: 9

                                      ("c", c_short, 1)]
        self.assertEqual(sizeof(X), sizeof(c_short))

        class X(Structure):
            _fields_ = [("a", c_short, 1),
                        ("a1", c_short),
                        ("b", c_short, 14),
                        ("c", c_short, 1)]
        self.assertEqual(sizeof(X), sizeof(c_short)*3)

            

Reported by Pylint.

class already defined line 166
Error

Line: 183 Column: 9

                      self.assertEqual(X.b.offset, sizeof(c_short)*2)
        self.assertEqual(X.c.offset, sizeof(c_short)*2)

        class X(Structure):
            _fields_ = [("a", c_short, 3),
                        ("b", c_short, 14),
                        ("c", c_short, 14)]
        self.assertEqual(sizeof(X), sizeof(c_short)*3)
        self.assertEqual(X.a.offset, sizeof(c_short)*0)

            

Reported by Pylint.

Unused import memmove from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import memset from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import PYFUNCTYPE from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import cast from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import string_at from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import wstring_at from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Unused import DllGetClassObject from wildcard import
Error

Line: 1 Column: 1

              from ctypes import *
from ctypes.test import need_symbol
import unittest
import os

import _ctypes_test

class BITS(Structure):
    _fields_ = [("A", c_int, 1),

            

Reported by Pylint.

Lib/test/test_wsgiref.py
192 issues
The raise statement is not inside an except clause
Error

Line: 549 Column: 9

                  """Simple handler subclass for testing BaseHandler, w/error passthru"""

    def handle_error(self):
        raise   # for testing, we want to see what's happening


class HandlerTests(TestCase):
    # testEnviron() can produce long error message
    maxDiff = 80 * 50

            

Reported by Pylint.

__init__ method from base class 'WSGIServer' is not called
Error

Line: 30 Column: 5

              class MockServer(WSGIServer):
    """Non-socket HTTP server"""

    def __init__(self, server_address, RequestHandlerClass):
        BaseServer.__init__(self, server_address, RequestHandlerClass)
        self.server_bind()

    def server_bind(self):
        host, port = self.server_address

            

Reported by Pylint.

__init__ method from a non direct base class 'BaseServer' is called
Error

Line: 31 Column: 9

                  """Non-socket HTTP server"""

    def __init__(self, server_address, RequestHandlerClass):
        BaseServer.__init__(self, server_address, RequestHandlerClass)
        self.server_bind()

    def server_bind(self):
        host, port = self.server_address
        self.server_name = host

            

Reported by Pylint.

Unused argument 'environ'
Error

Line: 51 Column: 15

                      pass


def hello_app(environ,start_response):
    start_response("200 OK", [
        ('Content-Type','text/plain'),
        ('Date','Mon, 05 Jun 2006 18:49:54 GMT')
    ])
    return [b"Hello, world!"]

            

Reported by Pylint.

Unused variable 'err'
Error

Line: 137 Column: 14

                      )

    def test_plain_hello(self):
        out, err = run_amock()
        self.check_hello(out)

    def test_environ(self):
        request = (
            b"GET /p%61th/?query=test HTTP/1.0\n"

            

Reported by Pylint.

Unused variable 'err'
Error

Line: 147 Column: 14

                          b"X-Test-Header: Python test 2\n"
            b"Content-Length: 0\n\n"
        )
        out, err = run_amock(header_app, request)
        self.assertEqual(
            out.splitlines()[-1],
            b"Python test,Python test 2;query=test;/path/"
        )


            

Reported by Pylint.

Unused variable 'err'
Error

Line: 154 Column: 14

                      )

    def test_request_length(self):
        out, err = run_amock(data=b"GET " + (b"x" * 65537) + b" HTTP/1.0\n\n")
        self.assertEqual(out.splitlines()[0],
                         b"HTTP/1.0 414 Request-URI Too Long")

    def test_validated_hello(self):
        out, err = run_amock(validator(hello_app))

            

Reported by Pylint.

Unused variable 'err'
Error

Line: 159 Column: 14

                                       b"HTTP/1.0 414 Request-URI Too Long")

    def test_validated_hello(self):
        out, err = run_amock(validator(hello_app))
        # the middleware doesn't support len(), so content-length isn't there
        self.check_hello(out, has_length=False)

    def test_simple_validation_error(self):
        def bad_app(environ,start_response):

            

Reported by Pylint.

Unused argument 'environ'
Error

Line: 164 Column: 21

                      self.check_hello(out, has_length=False)

    def test_simple_validation_error(self):
        def bad_app(environ,start_response):
            start_response("200 OK", ('Content-Type','text/plain'))
            return ["Hello, world!"]
        out, err = run_amock(validator(bad_app))
        self.assertTrue(out.endswith(
            b"A server error occurred.  Please contact the administrator."

            

Reported by Pylint.

Unused argument 'environ'
Error

Line: 179 Column: 25

              
    def test_status_validation_errors(self):
        def create_bad_app(status):
            def bad_app(environ, start_response):
                start_response(status, [("Content-Type", "text/plain; charset=utf-8")])
                return [b"Hello, world!"]
            return bad_app

        tests = [

            

Reported by Pylint.

Lib/test/test_uuid.py
191 issues
Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 43 Column: 17

                      enum._test_simple_enum(CheckedSafeUUID, py_uuid.SafeUUID)

    def test_UUID(self):
        equal = self.assertEqual
        ascending = []
        for (string, curly, hex, bytes, bytes_le, fields, integer, urn,
             time, clock_seq, variant, version) in [
            ('00000000-0000-0000-0000-000000000000',
             '{00000000-0000-0000-0000-000000000000}',

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertRaises' member
Error

Line: 229 Column: 30

                      equal(ascending, resorted)

    def test_exceptions(self):
        badvalue = lambda f: self.assertRaises(ValueError, f)
        badtype = lambda f: self.assertRaises(TypeError, f)

        # Badly formed hex strings.
        badvalue(lambda: self.uuid.UUID(''))
        badvalue(lambda: self.uuid.UUID('abc'))

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertRaises' member
Error

Line: 230 Column: 29

              
    def test_exceptions(self):
        badvalue = lambda f: self.assertRaises(ValueError, f)
        badtype = lambda f: self.assertRaises(TypeError, f)

        # Badly formed hex strings.
        badvalue(lambda: self.uuid.UUID(''))
        badvalue(lambda: self.uuid.UUID('abc'))
        badvalue(lambda: self.uuid.UUID('1234567812345678123456781234567'))

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertTrue' member
Error

Line: 325 Column: 9

              
    def test_getnode(self):
        node1 = self.uuid.getnode()
        self.assertTrue(0 < node1 < (1 << 48), '%012x' % node1)

        # Test it again to ensure consistency.
        node2 = self.uuid.getnode()
        self.assertEqual(node1, node2, '%012x != %012x' % (node1, node2))


            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 329 Column: 9

              
        # Test it again to ensure consistency.
        node2 = self.uuid.getnode()
        self.assertEqual(node1, node2, '%012x != %012x' % (node1, node2))

    def test_pickle_roundtrip(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)
            self.assertEqual(actual.is_safe, expected.is_safe)

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 333 Column: 13

              
    def test_pickle_roundtrip(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)
            self.assertEqual(actual.is_safe, expected.is_safe)

        with support.swap_item(sys.modules, 'uuid', self.uuid):
            for is_safe in self.uuid.SafeUUID:
                u = self.uuid.UUID('d82579ce6642a0de7ddf490a7aec7aa5',

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 334 Column: 13

                  def test_pickle_roundtrip(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)
            self.assertEqual(actual.is_safe, expected.is_safe)

        with support.swap_item(sys.modules, 'uuid', self.uuid):
            for is_safe in self.uuid.SafeUUID:
                u = self.uuid.UUID('d82579ce6642a0de7ddf490a7aec7aa5',
                                   is_safe=is_safe)

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'subTest' member
Error

Line: 343 Column: 26

                              check(copy.copy(u), u)
                check(copy.deepcopy(u), u)
                for proto in range(pickle.HIGHEST_PROTOCOL + 1):
                    with self.subTest(protocol=proto):
                        check(pickle.loads(pickle.dumps(u, proto)), u)

    def test_unpickle_previous_python_versions(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 348 Column: 13

              
    def test_unpickle_previous_python_versions(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)
            self.assertEqual(actual.is_safe, expected.is_safe)

        pickled_uuids = [
            # Python 2.7, protocol 0
            b'ccopy_reg\n_reconstructor\n(cuuid\nUUID\nc__builtin__\nobject\nN'

            

Reported by Pylint.

Instance of 'BaseTestUUID' has no 'assertEqual' member
Error

Line: 349 Column: 13

                  def test_unpickle_previous_python_versions(self):
        def check(actual, expected):
            self.assertEqual(actual, expected)
            self.assertEqual(actual.is_safe, expected.is_safe)

        pickled_uuids = [
            # Python 2.7, protocol 0
            b'ccopy_reg\n_reconstructor\n(cuuid\nUUID\nc__builtin__\nobject\nN'
            b'tR(dS\'int\'\nL287307832597519156748809049798316161701L\nsb.',

            

Reported by Pylint.

Lib/lib2to3/tests/test_pytree.py
190 issues
Attempted relative import beyond top-level package
Error

Line: 13 Column: 1

              """

# Testing imports
from . import support

from lib2to3 import pytree

try:
    sorted

            

Reported by Pylint.

Redefining built-in 'sorted'
Error

Line: 20 Column: 5

              try:
    sorted
except NameError:
    def sorted(lst):
        l = list(lst)
        l.sort()
        return l

class TestNodes(support.TestCase):

            

Reported by Pylint.

standard import "from lib2to3 import pytree" should be placed before "from . import support"
Error

Line: 15 Column: 1

              # Testing imports
from . import support

from lib2to3 import pytree

try:
    sorted
except NameError:
    def sorted(lst):

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 20 Column: 5

              try:
    sorted
except NameError:
    def sorted(lst):
        l = list(lst)
        l.sort()
        return l

class TestNodes(support.TestCase):

            

Reported by Pylint.

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

Line: 21 Column: 9

                  sorted
except NameError:
    def sorted(lst):
        l = list(lst)
        l.sort()
        return l

class TestNodes(support.TestCase):


            

Reported by Pylint.

Too many public methods (32/20)
Error

Line: 25 Column: 1

                      l.sort()
        return l

class TestNodes(support.TestCase):

    """Unit tests for nodes (Base, Leaf, Node)."""

    def test_instantiate_base(self):
        if __debug__:

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 29 Column: 5

              
    """Unit tests for nodes (Base, Leaf, Node)."""

    def test_instantiate_base(self):
        if __debug__:
            # Test that instantiating Base() raises an AssertionError
            self.assertRaises(AssertionError, pytree.Base)

    def test_leaf(self):

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 34 Column: 5

                          # Test that instantiating Base() raises an AssertionError
            self.assertRaises(AssertionError, pytree.Base)

    def test_leaf(self):
        l1 = pytree.Leaf(100, "foo")
        self.assertEqual(l1.type, 100)
        self.assertEqual(l1.value, "foo")

    def test_leaf_repr(self):

            

Reported by Pylint.

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

Line: 35 Column: 9

                          self.assertRaises(AssertionError, pytree.Base)

    def test_leaf(self):
        l1 = pytree.Leaf(100, "foo")
        self.assertEqual(l1.type, 100)
        self.assertEqual(l1.value, "foo")

    def test_leaf_repr(self):
        l1 = pytree.Leaf(100, "foo")

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 39 Column: 5

                      self.assertEqual(l1.type, 100)
        self.assertEqual(l1.value, "foo")

    def test_leaf_repr(self):
        l1 = pytree.Leaf(100, "foo")
        self.assertEqual(repr(l1), "Leaf(100, 'foo')")

    def test_leaf_str(self):
        l1 = pytree.Leaf(100, "foo")

            

Reported by Pylint.