WPS461 breaks when more than one code is configured
What's wrong
The forbidden-inline-ignore option is parsed from a comma-separated string into a tuple, but the code itself joins all codes using an empty string, then tries to split them on comma. The tests pass, because they pass strings with comma separated values instead of a tuple with values.
How it should be
Just like other multiple value configurations , like nested-classes-whitelist, this rule needs to iterate over the items in the tuple, not try to do some additional handling, because the config values are already parsed.
Flake8 version and plugins
{ "platform": { "python_implementation": "CPython", "python_version": "3.11.2", "system": "Linux" }, "plugins": [ { "plugin": "darglint", "version": "1.8.1" }, { "plugin": "flake8-bandit", "version": "4.1.1" }, { "plugin": "flake8-broken-line", "version": "0.6.0" }, { "plugin": "flake8-bugbear", "version": "22.10.27" }, { "plugin": "flake8-commas", "version": "2.1.0" }, { "plugin": "flake8-comprehensions", "version": "3.10.1" }, { "plugin": "flake8-debugger", "version": "4.1.2" }, { "plugin": "flake8-docstrings", "version": "1.6.0" }, { "plugin": "flake8-eradicate", "version": "1.4.0" }, { "plugin": "flake8-isort", "version": "5.0.0" }, { "plugin": "flake8-pytest-style", "version": "1.6.0" }, { "plugin": "flake8-quotes", "version": "3.3.1" }, { "plugin": "flake8-rst-docstrings", "version": "0.3.0" }, { "plugin": "flake8-string-format", "version": "0.3.0" }, { "plugin": "mccabe", "version": "0.7.0" }, { "plugin": "nitpick", "version": "0.29.0" }, { "plugin": "pep8-naming", "version": "0.13.2" }, { "plugin": "pycodestyle", "version": "2.9.1" }, { "plugin": "pyflakes", "version": "2.5.0" }, { "plugin": "wemake-python-styleguide", "version": "0.17.0" } ], "version": "5.0.4" }
pip information
pip 23.0.1 from /root/.cache/pypoetry/virtualenvs/wemake-python-styleguide-MATOk_fk-py3.11/lib/python3.11/site-packages/pip (python 3.11) astor==0.8.1 astpath==0.9.0 attrs==22.1.0 autopep8==1.7.0 autorepr==0.3.0 backcall==0.2.0 bandit==1.7.4 cachy==0.3.0 certifi==2022.9.24 charset-normalizer==2.1.1 click==8.1.3 ConfigUpdater==3.1.1 coverage==6.5.0 coverage-conditional-plugin==0.5.0 darglint==1.8.1 decorator==5.1.1 dictdiffer==0.9.0 doc8==0.11.2 docutils==0.19 dparse==0.6.2 eradicate==2.1.0 fastdiff==0.3.0 flake8==5.0.4 flake8-bandit==4.1.1 flake8-broken-line==0.6.0 flake8-bugbear==22.10.27 flake8-commas==2.1.0 flake8-comprehensions==3.10.1 flake8-debugger==4.1.2 flake8-docstrings==1.6.0 flake8-eradicate==1.4.0 flake8-isort==5.0.0 flake8-plugin-utils==1.3.2 flake8-pytest-style==1.6.0 flake8-quotes==3.3.1 flake8-rst-docstrings==0.3.0 flake8-string-format==0.3.0 gitdb==4.0.9 GitPython==3.1.28 grimp==2.0 hypothesis==6.56.1 hypothesmith==0.2.0 identify==2.5.6 idna==3.4 import-linter==1.4.0 iniconfig==1.1.1 ipython==7.34.0 isort==5.10.1 jedi==0.18.1 jmespath==1.0.1 lark-parser==0.12.0 libcst==0.4.7 loguru==0.6.0 lxml==4.9.1 marshmallow==3.18.0 marshmallow-polyfield==5.10 matplotlib-inline==0.1.6 mccabe==0.7.0 more-itertools==8.14.0 mypy==0.982 mypy-extensions==0.4.3 nbqa==1.5.2 nitpick==0.29.0 packaging==21.3 parso==0.8.3 pbr==5.10.0 pep8-naming==0.13.2 pexpect==4.8.0 pickleshare==0.7.5 pluggy==1.0.0 prompt-toolkit==3.0.31 ptyprocess==0.7.0 py==1.11.0 pycodestyle==2.9.1 pydantic==1.10.2 pydocstyle==6.1.1 pyflakes==2.5.0 Pygments==2.14.0 pyparsing==3.0.9 pytest==7.1.3 pytest-cov==3.0.0 pytest-randomly==3.12.0 python-slugify==6.1.2 PyYAML==6.0 requests==2.28.1 restructuredtext-lint==1.4.0 ruamel.yaml==0.17.21 safety==2.3.1 six==1.16.0 smmap==5.0.0 snapshottest==0.6.0 snowballstemmer==2.2.0 sortedcontainers==2.4.0 stevedore==3.5.0 termcolor==2.0.1 text-unidecode==1.3 tokenize-rt==5.0.0 toml==0.10.2 tomli==2.0.1 tomlkit==0.11.5 traitlets==5.4.0 typing-inspect==0.8.0 typing_extensions==4.4.0 urllib3==1.26.12 wasmer==1.1.0 wasmer-compiler-cranelift==1.1.0 wcwidth==0.2.5 -e git+ssh://[email protected]/bolmstedt/wemake-python-styleguide.git@936715d5306508aed51938afc27a1f0c2e2281da#egg=wemake_python_styleguide
OS information
Debian GNU/Linux 11 (bullseye) 5.10.124-linuxkit
Fixed by #2591.