diff options
author | Timo Röhling <roehling@debian.org> | 2024-04-23 15:59:14 +0200 |
---|---|---|
committer | Timo Röhling <roehling@debian.org> | 2024-04-23 15:59:14 +0200 |
commit | 48a040bb397156a900ffbd8ce2427c7f8e62de36 (patch) | |
tree | 7f7258dca0b0378f21fd021314e8716911db33e4 | |
parent | 6b5424df013ec98cd06f8d3484cb1eb80731826d (diff) |
Fix FTBFS with flake8 >= 7
Closes: #1058300
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/patches/flake8-5.x-support.patch | 51 | ||||
-rw-r--r-- | debian/patches/flake8-7.x-pytest-greater-7.x.patch | 89 | ||||
-rw-r--r-- | debian/patches/series | 2 |
4 files changed, 91 insertions, 53 deletions
diff --git a/debian/control b/debian/control index aea8951..564774b 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Debian Python Team <team+python@tracker.debian.org> Uploaders: Sergio Durigan Junior <sergiodj@debian.org> Build-Depends: debhelper-compat (= 13), dh-python, - python3-flake8 (>= 5.0.4), + python3-flake8 (>= 7.0.0), python3-pytest <!nocheck>, python3-py <!nocheck>, python3-setuptools, diff --git a/debian/patches/flake8-5.x-support.patch b/debian/patches/flake8-5.x-support.patch deleted file mode 100644 index fd743dd..0000000 --- a/debian/patches/flake8-5.x-support.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 976e6180201f7808a3007c8c5903a1637b18c0c8 Mon Sep 17 00:00:00 2001 -From: Dominic Oram <dominic.oram@diamond.ac.uk> -Date: Fri, 5 Aug 2022 17:55:24 +0100 -Subject: [PATCH] Update to work for flake8==5.0.0 -Origin: https://github.com/tholo/pytest-flake8/pull/88 - ---- - pytest_flake8.py | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/pytest_flake8.py b/pytest_flake8.py -index 2555f8a..c693789 100644 ---- a/pytest_flake8.py -+++ b/pytest_flake8.py -@@ -212,23 +212,28 @@ def check_file(path, flake8ignore, maxlength, maxdoclenght, maxcomplexity, - args += ['--show-source'] - if statistics: - args += ['--statistics'] -+ args += [str(path)] - app = application.Application() - prelim_opts, remaining_args = app.parse_preliminary_options(args) -- config_finder = config.ConfigFileFinder( -- app.program, -- prelim_opts.append_config, -- config_file=prelim_opts.config, -- ignore_config_files=prelim_opts.isolated, -+ cfg, cfg_dir = config.load_config( -+ config=prelim_opts.config, -+ extra=prelim_opts.append_config, -+ isolated=prelim_opts.isolated, -+ ) -+ app.find_plugins( -+ cfg, -+ cfg_dir, -+ enable_extensions=prelim_opts.enable_extensions, -+ require_plugins=prelim_opts.require_plugins, - ) -- app.find_plugins(config_finder) - app.register_plugin_options() -- app.parse_configuration_and_cli(config_finder, remaining_args) -+ app.parse_configuration_and_cli(cfg, cfg_dir, remaining_args) - if flake8ignore: - app.options.ignore = flake8ignore - app.make_formatter() # fix this - app.make_guide() - app.make_file_checker_manager() -- app.run_checks([str(path)]) -+ app.run_checks() - app.formatter.start() - app.report_errors() - app.formatter.stop() diff --git a/debian/patches/flake8-7.x-pytest-greater-7.x.patch b/debian/patches/flake8-7.x-pytest-greater-7.x.patch new file mode 100644 index 0000000..86dbae2 --- /dev/null +++ b/debian/patches/flake8-7.x-pytest-greater-7.x.patch @@ -0,0 +1,89 @@ +Description: Patch to work with flake8 7.x series + Upstream is known to be broken with new flake8 versions: + https://github.com/tholo/pytest-flake8/pull/96. Patch is part of the + discussion in the PR but upstream does not seem very responsive. +Author: clalancette@intrinsic.ai +Reviewed-by: jrivero@osrfoundation.org +Bug: https://github.com/tholo/pytest-flake8/pull/96#issuecomment-2032433686 +Origin: https://github.com/clalancette/pytest-flake8/commits/modern-flake8/ +Last-Update: 2024-04-02 + +diff --git a/pytest_flake8.py b/pytest_flake8.py +index 2555f8a..254b8b5 100644 +--- a/pytest_flake8.py ++++ b/pytest_flake8.py +@@ -6,7 +6,7 @@ + from io import BytesIO, TextIOWrapper + + from flake8.main import application +-from flake8.options import config ++from flake8.options.parse_args import parse_args + + import pytest + +@@ -213,22 +213,14 @@ def check_file(path, flake8ignore, maxlength, maxdoclenght, maxcomplexity, + if statistics: + args += ['--statistics'] + app = application.Application() +- prelim_opts, remaining_args = app.parse_preliminary_options(args) +- config_finder = config.ConfigFileFinder( +- app.program, +- prelim_opts.append_config, +- config_file=prelim_opts.config, +- ignore_config_files=prelim_opts.isolated, +- ) +- app.find_plugins(config_finder) +- app.register_plugin_options() +- app.parse_configuration_and_cli(config_finder, remaining_args) ++ app.plugins, app.options = parse_args(args) + if flake8ignore: + app.options.ignore = flake8ignore + app.make_formatter() # fix this + app.make_guide() +- app.make_file_checker_manager() +- app.run_checks([str(path)]) ++ app.make_file_checker_manager([]) ++ app.options.filenames = [str(path)] ++ app.run_checks() + app.formatter.start() + app.report_errors() + app.formatter.stop() +diff --git a/test_flake8.py b/test_flake8.py +index 0bc2461..e70860f 100644 +--- a/test_flake8.py ++++ b/test_flake8.py +@@ -2,7 +2,6 @@ + """Unit tests for flake8 pytest plugin.""" + from __future__ import print_function + +-import py + import pytest + + pytest_plugins = "pytester", +@@ -44,8 +43,8 @@ def test_default_flake8_ignores(self, testdir): + + [flake8] + ignore = E203 +- *.py E300 +- tests/*.py ALL E203 # something ++ E300 ++ ALL E203 + """) + testdir.tmpdir.ensure("xy.py") + testdir.tmpdir.ensure("tests/hello.py") +@@ -164,13 +163,13 @@ def test_unicode_error(testdir): + x = testdir.tmpdir.join("x.py") + import codecs + f = codecs.open(str(x), "w", encoding="utf8") +- f.write(py.builtin._totext(""" ++ f.write(""" + # coding=utf8 + + accent_map = { + u'\\xc0': 'a', # À -> a non-ascii comment crashes it + } +-""", "utf8")) ++""") + f.close() + # result = testdir.runpytest("--flake8", x, "-s") + # result.stdout.fnmatch_lines("*non-ascii comment*") diff --git a/debian/patches/series b/debian/patches/series index f977d3c..3617b63 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1 @@ -flake8-5.x-support.patch +flake8-7.x-pytest-greater-7.x.patch |