Opened 3 years ago

Closed 3 years ago

#4342 closed defect (fixed)

tox fails due to incompatibility of flake8-putty with flake8 3.0

Reported by: sebastian Assignee: sebastian
Priority: P2 Milestone:
Module: Sitescripts Keywords:
Cc: kvas, jsonesen Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29349917/
https://codereview.adblockplus.org/29349911/
https://codereview.adblockplus.org/29349914/

Description

How to reproduce

  1. Clone sitescripts, cms or buildtools.
  2. Run tox from the repository root.

Observed behaviour

When tox runs flake8 following exception is raised:

Traceback (most recent call last):
  File ".tox/py27/bin/flake8", line 11, in <module>
    sys.exit(main())
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/main/cli.py", line 16, in main
    app.run(argv)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/main/application.py", line 316, in run
    self._run(argv)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/main/application.py", line 299, in _run
    self.initialize(argv)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/main/application.py", line 290, in initialize
    self.register_plugin_options()
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/main/application.py", line 150, in register_plugin_options
    self.check_plugins.register_options(self.option_manager)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/plugins/manager.py", line 481, in register_options
    list(self.manager.map(register_and_enable))
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/plugins/manager.py", line 277, in map
    yield func(self.plugins[name], *args, **kwargs)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/plugins/manager.py", line 477, in register_and_enable
    call_register_options(plugin)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/plugins/manager.py", line 373, in generated_function
    return method(optmanager, *args, **kwargs)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8/plugins/manager.py", line 223, in register_options
    add_options(optmanager)
  File "/home/sebastian/src/sitescripts/.tox/py27/local/lib/python2.7/site-packages/flake8_putty/extension.py", line 132, in add_options
    parser.config_options.append('putty-select')
AttributeError: 'OptionManager' object has no attribute 'config_options'
ERROR: InvocationError: '/home/sebastian/src/sitescripts/.tox/py27/bin/flake8 sitescripts multiplexer.py multiplexer.fcgi'

This didn't happen before flake8 3.0 has been released. This is an incompatibility of flake8-putty, a third-party flake8 extension, which we use for more granular ignores in order to deal with legacy code.

Expected behaviour

tox should complete successfully, running flake8 without any errors.

What to change

As long as flake8-putty is incompatible with flake8 3.0, we have to explicitly require flake8==2.*.

Change History (5)

comment:1 Changed 3 years ago by sebastian

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:2 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4342 - Pin flake8 2.x for compatibility with flake8-putty

comment:3 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4342 - Pin flake8 2.x for compatibility with flake8-putty

comment:4 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4342 - Pin flake8 2.x for compatibility with flake8-putty

comment:5 Changed 3 years ago by sebastian

  • Resolution set to fixed
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.