]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
patman: Correct pylint errors
authorSimon Glass <sjg@chromium.org>
Fri, 11 Feb 2022 20:23:18 +0000 (13:23 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 2 Mar 2022 15:28:12 +0000 (10:28 -0500)
Fix pylint errors that can be fixed and mask those that seem to be
incorrect.

Signed-off-by: Simon Glass <sjg@chromium.org>
doc/develop/python_cq.rst
tools/concurrencytest/__init__.py [new file with mode: 0644]
tools/patman/checkpatch.py
tools/patman/command.py
tools/patman/commit.py
tools/patman/cros_subprocess.py
tools/patman/func_test.py
tools/patman/patchstream.py
tools/patman/series.py
tools/patman/settings.py
tools/patman/tools.py

index 3f99f1d9c0b6f615f2c7bb10556cbd9c3640c076..1e209ff197d6d1737423a03eb9343895bb1647f3 100644 (file)
@@ -77,4 +77,15 @@ If the pylint version is updated in CI, this may result in needing to regenerate
 `scripts/pylint.base`.
 
 
+Checking for errors
+-------------------
+
+If you only want to check for pylint errors, use::
+
+   PYTHONPATH=/path/to/scripts/dtc/pylibfdt/ make pylint_err
+
+This will show only pylint errors. Note that you must set PYTHONPATH to point
+to the pylibfdt directory build by U-Boot (typically the sandbox_spl board). If
+you have used `make qcheck` then it sill be in `board-sandbox_spl`.
+
 .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
diff --git a/tools/concurrencytest/__init__.py b/tools/concurrencytest/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index dd792efee0b96a51744748c5077c4c7066d81e79..70ba561c2686e4c28cedd75877805e6fed33d2bf 100644 (file)
@@ -125,7 +125,7 @@ def check_patch_parse(checkpatch_output, verbose=False):
     Returns:
         namedtuple containing:
             ok: False=failure, True=ok
-            problems: List of problems, each a dict:
+            problems (list of problems): each a dict:
                 'type'; error or warning
                 'msg': text message
                 'file' : filename
@@ -252,6 +252,8 @@ def check_patches(verbose, args):
             if (len(result.problems) != result.errors + result.warnings +
                     result.checks):
                 print("Internal error: some problems lost")
+            # Python seems to get confused by this
+            # pylint: disable=E1133
             for item in result.problems:
                 sys.stderr.write(
                     get_warning_msg(col, item.get('type', '<unknown>'),
index 24358784f26c459ef4a468a31c2ad36be7e886f9..92c453b5c1374b7a5c9f1c8fb988dda25e9796e3 100644 (file)
@@ -17,13 +17,6 @@ class CommandResult:
         return_code: Return code from command
         exception: Exception received, or None if all ok
     """
-    def __init__(self):
-        self.stdout = None
-        self.stderr = None
-        self.combined = None
-        self.return_code = None
-        self.exception = None
-
     def __init__(self, stdout='', stderr='', combined='', return_code=0,
                  exception=None):
         self.stdout = stdout
@@ -72,6 +65,7 @@ def run_pipe(pipe_list, infile=None, outfile=None,
     """
     if test_result:
         if hasattr(test_result, '__call__'):
+            # pylint: disable=E1102
             result = test_result(pipe_list=pipe_list)
             if result:
                 return result
index c331a3b12219b11681e0af335232341420b0801b..a645b22d087b0248f8b94398f3f78901b6e8cfce 100644 (file)
@@ -31,7 +31,7 @@ class Commit:
     """
     def __init__(self, hash):
         self.hash = hash
-        self.subject = None
+        self.subject = ''
         self.tags = []
         self.changes = {}
         self.cc_list = []
index f1b26087cfd233e2a43117d04ffe2420a5e33fa6..cd614f38a648fb54b6f5662d4ca7ef5af012cf8a 100644 (file)
@@ -113,7 +113,7 @@ class Popen(subprocess.Popen):
             return b''
         return data
 
-    def communicate_filter(self, output):
+    def communicate_filter(self, output, input_buf=''):
         """Interact with process: Read data from stdout and stderr.
 
         This method runs until end-of-file is reached, then waits for the
@@ -166,7 +166,7 @@ class Popen(subprocess.Popen):
             # Flush stdio buffer.    This might block, if the user has
             # been writing to .stdin in an uncontrolled fashion.
             self.stdin.flush()
-            if input:
+            if input_buf:
                 write_set.append(self.stdin)
             else:
                 self.stdin.close()
@@ -195,10 +195,10 @@ class Popen(subprocess.Popen):
                 # When select has indicated that the file is writable,
                 # we can write up to PIPE_BUF bytes without risk
                 # blocking.    POSIX defines PIPE_BUF >= 512
-                chunk = input[input_offset : input_offset + 512]
+                chunk = input_buf[input_offset : input_offset + 512]
                 bytes_written = os.write(self.stdin.fileno(), chunk)
                 input_offset += bytes_written
-                if input_offset >= len(input):
+                if input_offset >= len(input_buf):
                     self.stdin.close()
                     write_set.remove(self.stdin)
 
@@ -240,16 +240,6 @@ class Popen(subprocess.Popen):
         stderr = self.convert_data(stderr)
         combined = self.convert_data(combined)
 
-        # Translate newlines, if requested.    We cannot let the file
-        # object do the translation: It is based on stdio, which is
-        # impossible to combine with select (unless forcing no
-        # buffering).
-        if self.universal_newlines and hasattr(file, 'newlines'):
-            if stdout:
-                stdout = self._translate_newlines(stdout)
-            if stderr:
-                stderr = self._translate_newlines(stderr)
-
         self.wait()
         return (stdout, stderr, combined)
 
index 59ee90c344fc9ce0d4507dc0575644e3864cca01..7b92bc67be1eff37134d58fe72fccfd8c992d8dd 100644 (file)
@@ -341,6 +341,8 @@ Changes in v2:
         tools.write_file(path, text, binary=False)
         index = self.repo.index
         index.add(fname)
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         author = pygit2.Signature('Test user', 'test@email.com')
         committer = author
         tree = index.write_tree()
@@ -363,6 +365,8 @@ Changes in v2:
         self.repo = repo
         new_tree = repo.TreeBuilder().write()
 
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         author = pygit2.Signature('Test user', 'test@email.com')
         committer = author
         _ = repo.create_commit('HEAD', author, committer, 'Created master',
@@ -414,6 +418,8 @@ better than before''')
         first_target = repo.revparse_single('HEAD')
 
         target = repo.revparse_single('HEAD~2')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         repo.reset(target.oid, pygit2.GIT_CHECKOUT_FORCE)
         self.make_commit_with_file('video: Some video improvements', '''
 Fix up the video so that
@@ -459,6 +465,8 @@ complicated as possible''')
         """Test creating patches from a branch"""
         repo = self.make_git_tree()
         target = repo.lookup_reference('refs/heads/first')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         self.repo.checkout(target, strategy=pygit2.GIT_CHECKOUT_FORCE)
         control.setup()
         try:
@@ -615,6 +623,8 @@ diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
         """Test CountCommitsToBranch when there is no upstream"""
         repo = self.make_git_tree()
         target = repo.lookup_reference('refs/heads/base')
+        # pylint doesn't seem to find this
+        # pylint: disable=E1101
         self.repo.checkout(target, strategy=pygit2.GIT_CHECKOUT_FORCE)
 
         # Check that it can detect the current branch
index 9b32fd4790e1c92ba796b5cf428956df3f5aa72b..fb6a6036f3bef2ef972202527a8746aa3c4bb9b6 100644 (file)
@@ -597,7 +597,7 @@ class PatchStream:
         if 'prefix' in self.series:
             parts.append(self.series['prefix'])
         if 'postfix' in self.series:
-            parts.append(self.serties['postfix'])
+            parts.append(self.series['postfix'])
         if 'version' in self.series:
             parts.append("v%s" % self.series['version'])
 
index 891f27853423792f3d2647d8519ab039eb94c3a8..3075378ac1f7f52a180f56f64367cefd66361aab 100644 (file)
@@ -122,8 +122,7 @@ class Series(dict):
             cc_list = list(self._generated_cc[commit.patch])
             for email in sorted(set(cc_list) - to_set - cc_set):
                 if email == None:
-                    email = col.build(col.YELLOW, "<alias '%s' not found>"
-                            % tag)
+                    email = col.build(col.YELLOW, '<alias not found>')
                 if email:
                     print('      Cc: ', email)
         print
index 014bb376d8b191935b027fd5fa0b3511ddceb206..7c2b5c196c0621696d5715ab7d24602b6920467e 100644 (file)
@@ -200,12 +200,12 @@ def CreatePatmanConfigFile(gitutil, config_fname):
     """
     name = gitutil.get_default_user_name()
     if name == None:
-        name = raw_input("Enter name: ")
+        name = input("Enter name: ")
 
     email = gitutil.get_default_user_email()
 
     if email == None:
-        email = raw_input("Enter email: ")
+        email = input("Enter email: ")
 
     try:
         f = open(config_fname, 'w')
index 5e4d4ac05cf67e04523719a59ecd637be799b987..2ac814d476ffeb96c5e6a53d63057929765a5c6c 100644 (file)
@@ -62,8 +62,8 @@ def prepare_output_dir(dirname, preserve=False):
             try:
                 os.makedirs(outdir)
             except OSError as err:
-                raise CmdError("Cannot make output directory '%s': '%s'" %
-                                (outdir, err.strerror))
+                raise ValueError(
+                    f"Cannot make output directory 'outdir': 'err.strerror'")
         tout.debug("Using output directory '%s'" % outdir)
     else:
         outdir = tempfile.mkdtemp(prefix='binman.')
@@ -160,7 +160,7 @@ def get_input_filename_glob(pattern):
         A list of matching files in all input directories
     """
     if not indir:
-        return glob.glob(fname)
+        return glob.glob(pattern)
     files = []
     for dirname in indir:
         pathname = os.path.join(dirname, pattern)
@@ -201,7 +201,7 @@ def path_has_file(path_spec, fname):
             return True
     return False
 
-def get_host_compile_tool(name):
+def get_host_compile_tool(env, name):
     """Get the host-specific version for a compile tool
 
     This checks the environment variables that specify which version of
@@ -356,7 +356,7 @@ def run_result(name, *args, **kwargs):
             name, extra_args = get_target_compile_tool(name)
             args = tuple(extra_args) + args
         elif for_host:
-            name, extra_args = get_host_compile_tool(name)
+            name, extra_args = get_host_compile_tool(env, name)
             args = tuple(extra_args) + args
         name = os.path.expanduser(name)  # Expand paths containing ~
         all_args = (name,) + args