From efe47381c599b07e4c7bbdb2e91e8090a541c887 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:53:52 +0200 Subject: Adding upstream version 2.23.4+deb12u1. Signed-off-by: Daniel Baumann --- scripts/devscripts/test/test_flake8.py | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 scripts/devscripts/test/test_flake8.py (limited to 'scripts/devscripts/test/test_flake8.py') diff --git a/scripts/devscripts/test/test_flake8.py b/scripts/devscripts/test/test_flake8.py new file mode 100644 index 0000000..9781a5d --- /dev/null +++ b/scripts/devscripts/test/test_flake8.py @@ -0,0 +1,59 @@ +# Copyright (C) 2017-2018, Benjamin Drung +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +"""Run flake8 check.""" + +import subprocess +import sys +import unittest + +from . import get_source_files, unittest_verbosity + + +class Flake8TestCase(unittest.TestCase): + """ + This unittest class provides a test that runs the flake8 code + checker (which combines pycodestyle and pyflakes) on the Python + source code. The list of source files is provided by the + get_source_files() function. + """ + + def test_flake8(self) -> None: + """Test: Run flake8 on Python source code.""" + cmd = [ + sys.executable, + "-m", + "flake8", + "--ignore=E203,W503", + "--max-line-length=88", + ] + get_source_files() + if unittest_verbosity() >= 2: + sys.stderr.write(f"Running following command:\n{' '.join(cmd)}\n") + process = subprocess.run(cmd, capture_output=True, check=False, text=True) + + if process.returncode != 0: # pragma: no cover + msgs = [] + if process.stderr: + msgs.append( + f"flake8 exited with code {process.returncode} and has" + f" unexpected output on stderr:\n{process.stderr.rstrip()}" + ) + if process.stdout: + msgs.append(f"flake8 found issues:\n{process.stdout.rstrip()}") + if not msgs: + msgs.append( + f"flake8 exited with code {process.returncode} " + "and has no output on stdout or stderr." + ) + self.fail("\n".join(msgs)) -- cgit v1.2.3