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_black.py | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 scripts/devscripts/test/test_black.py (limited to 'scripts/devscripts/test/test_black.py') diff --git a/scripts/devscripts/test/test_black.py b/scripts/devscripts/test/test_black.py new file mode 100644 index 0000000..565018f --- /dev/null +++ b/scripts/devscripts/test/test_black.py @@ -0,0 +1,50 @@ +# Copyright (C) 2021, 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 black code formatter in check mode.""" + +import subprocess +import sys +import unittest + +import black + +from . import get_source_files, unittest_verbosity + + +class BlackTestCase(unittest.TestCase): + """ + This unittest class provides a test that runs the black code + formatter in check mode on the Python source code. The list of + source files is provided by the get_source_files() function. + """ + + def test_black(self) -> None: + """Test: Run black code formatter on Python source code.""" + if int(black.__version__.split(".", 1)[0]) <= 20: + self.skipTest("black >= 21 needed") + cmd = ["black", "--check", "--diff"] + 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 == 1: # pragma: no cover + self.fail( + f"black found code that needs reformatting:\n{process.stdout.strip()}" + ) + if process.returncode != 0: # pragma: no cover + self.fail( + f"black exited with code {process.returncode}:\n" + f"{process.stdout.strip()}" + ) -- cgit v1.2.3