astral-sh / ruff

An extremely fast Python linter and code formatter, written in Rust.
https://docs.astral.sh/ruff
MIT License
32.64k stars 1.09k forks source link

warning: Failed to converge after 100 iterations. in 240 files #1974

Closed spaceone closed 1 year ago

spaceone commented 1 year ago

I have 240 occurrences of

warning: Failed to converge after 100 iterations.

This likely indicates a bug in `ruff`. If you could open an issue at:

https://github.com/charliermarsh/ruff/issues

quoting the contents of `…`, along with the `pyproject.toml` settings and executed command, we'd be very appreciat
ive!

The executed command is ruff --isolated --select D --ignore D400,D415 --fix $files The repository is https://github.com/univention/univention-corporate-server. The files are:

test/ucs-test/tests/10_ldap/120_directory_logger.py
test/ucs-test/tests/43_proxy/essential/simplesquid.py
test/ucs-test/tests/55_adconnector/adconnector.py
test/ucs-test/tests/40_mail/47_mailForwardAddress
test/ucs-test/tests/45_radius/08_clients_univention_conf
test/ucs-test/tests/43_proxy/essential/simplecurl.py
test/ucs-test/tests/60_umc/umc.py
test/ucs-test/tests/52_s4connector/s4connector.py
test/ucs-test/tests/45_radius/09_acl_check_for_clients_univention_conf
test/ucs-test/tests/40_mail/essential/mailclient.py
test/ucs-test/tests/40_mail/47_udm_mailForwardAddress
management/univention-directory-manager-modules/modules/univention/admin/syntax.d/example.py
test/ucs-test/tests/60_umc/104_expired_password.py
test/ucs-test/tests/82_saml/samltest.py
test/ucs-test/tests/86_selenium/essential/mailclient.py
test/ucs-test/tests/04_univention-lib/020_password_complexity_checks.py
test/ucs-test/univention/appcenter/testing/_umc.py
base/univention-python/modules/uldap.py
test/ucs-test/tests/59_udm/71_test_udm_settings.py
management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/__base.py
test/ucs-test/tests/10_ldap/42replication_memberof
test/ucs-test/tests/59_udm/61_test_udm_users_unittests.py
test/ucs-test/tests/40_mail/essential/mail.py
test/ucs-test/tests/86_selenium/essential/mail.py
test/ucs-test/univention/testing/selenium/base.py
test/ucs-test/tests/59_udm/62_test_udm_groups_ad_grouptype.py
test/ucs-test/univention/testing/format/tap.py
services/univention-ldb-modules/buildtools/wafsamba/samba_cross.py
management/univention-directory-manager-modules/univention-sync-memberuid
base/univention-config-registry/python/univention/config_registry/interfaces.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapReferences.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapDhcp.py
base/univention-system-setup/umc/python/setup/netconf/modules/RestartBind.py
base/univention-python/unittests/test_password_generation.py
test/ucs-test/univention/testing/format/junit.py
test/ucs-test/univention/testing/format/html.py
base/univention-system-setup/umc/python/setup/netconf/__init__.py
management/univention-directory-manager-modules/univention-cli-server
test/ucs-test/univention/testing/format/jenkins.py
oidc/python-keycloak/keycloak/authorization/__init__.py
oidc/python-keycloak/keycloak/authorization/role.py
base/univention-system-setup/umc/python/setup/netconf/common.py
oidc/python-keycloak/keycloak/authorization/permission.py
test/ucs-test/univention/testing/format/text.py
test/ucs-test/tests/59_udm/50_test_udm_api.py
oidc/python-keycloak/keycloak/authorization/policy.py
base/univention-config-registry/python/univention/config_registry/backend.py
base/univention-system-setup/umc/python/setup/netconf/conditions.py
test/ucs-test/univention/testing/ucr.py
base/univention-lib/python/umc.py
oidc/python-keycloak/keycloak/connection.py
base/univention-config-registry/python/univention/config_registry/validation.py
base/univention-lib/python/atjobs.py
packaging/univention-l10n/univention/l10n/l10n.py
base/univention-system-setup/umc/python/setup/network.py
base/univention-updater/tests/test_updater.py
packaging/univention-directory-manager-module-example/modules/univention/admin/handlers/test/ip_phone.py
base/univention-updater/tests/test_mirror.py
packaging/univention-directory-manager-module-example/scripts/ip-phone-tool
base/univention-system-setup/umc/python/setup/setup_script.py
test/ucs-test/univention/testing/data.py
base/univention-system-setup/tests/test_setup_script_ucr
base/univention-config-registry/python/univention/config_registry/handler.py
base/univention-system-setup/tests/test_setup_script_profile
base/univention-updater/conftest.py
base/univention-system-setup/tests/test_setup_netconf_references
base/univention-system-setup/tests/test_setup_netconf_ldap
base/univention-debug-python/python/univention/debug.py
test/ucs-test/univention/testing/utils.py
base/univention-system-setup/tests/test_setup_netconf_ChangeSet
base/univention-debug-python/python/univention/debug2.py
packaging/ucslint/univention/ucslint/base.py
management/univention-portal/udm/syntax/univention-portal.py
packaging/ucslint/univention/ucslint/0009-Python.py
base/univention-config-registry/python/univention/config_registry/frontend.py
management/univention-portal/udm/api/portal.py
base/univention-lib/python/admember.py
base/univention-updater/modules/univention/updater/scripts/actualize.py
test/ucs-test/univention/testing/license_client.py
base/univention-lib/python/i18n.py
base/univention-config-registry/python/univention/config_registry_info.py
base/univention-lib/python/license_tools.py
test/ucs-test/univention/testing/network.py
management/univention-management-console/src/univention/management/console/modules/sanitizers.py
packaging/ucslint/univention/ucslint/0018-Debian.py
base/univention-lib/python/ucs.py
services/univention-ad-connector/modules/univention/connector/ad/__init__.py
management/univention-management-console/src/univention/management/console/modules/mixins.py
base/univention-updater/modules/univention/updater/scripts/updater.py
base/univention-config-registry/python/univention/service_info.py
base/univention-lib/python/fstab.py
test/ucs-test/univention/testing/ldif.py
base/univention-config-registry/python/univention/info_tools.py
test/ucs-test/univention/testing/errors.py
test/ucs-test/univention/testing/codes.py
management/univention-management-console/src/univention/management/console/protocol/server.py
packaging/ucslint/univention/ucslint/0020-flake8.py
packaging/ucslint/univention/ucslint/0015-FuzzyNames.py
packaging/ucslint/univention/ucslint/0016-Deprecated.py
base/univention-config-registry/tests/test_backend.py
management/univention-management-console/src/univention/management/console/protocol/client.py
test/ucs-test/univention/testing/ldap_glue.py
base/univention-config-registry/tests/test_backend_threading.py
base/univention-lib/python/package_manager.py
test/ucs-test/univention/testing/internal.py
base/univention-config-registry/tests/test_info_tools.py
packaging/ucslint/ucslint
base/univention-system-setup/umc/python/setup/netconf/modules/LdapNetwork.py
management/univention-management-console/src/univention/management/console/protocol/modserver.py
management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py
monitoring/univention-monitoring-client/src/univention/monitoring/__init__.py
base/univention-system-setup/umc/python/setup/netconf/modules/RewritePxe.py
test/ucs-test/univention/testing/debian_package.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapDns.py
base/univention-system-setup/umc/python/setup/netconf/modules/RestartAllInterfaces.py
base/univention-updater/modules/univention/updater/errors.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapSelf.py
base/univention-updater/modules/univention/updater/repository.py
management/univention-management-console/src/univention/management/console/protocol/message.py
base/univention-updater/modules/univention/updater/tools.py
base/univention-config-registry/tests/test_interfaces.py
base/univention-system-setup/umc/python/setup/netconf/modules/__init__.py
saml/univention-saml/modules/univention/admin/syntax.d/samlserviceprovider.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapSamba.py
base/univention-updater/modules/univention/updater/locking.py
base/univention-system-setup/umc/python/setup/netconf/modules/FlushOldAddresses.py
base/univention-updater/modules/univention/updater/repo_url.py
base/univention-system-setup/umc/python/setup/netconf/modules/RewriteWins.py
base/univention-system-setup/umc/python/setup/netconf/modules/LdapSSO.py
base/univention-system-setup/umc/python/setup/netconf/modules/SaveOldApplianceAddress.py
base/univention-system-setup/umc/python/setup/netconf/modules/KernelModules.py
management/univention-appcenter/python/appcenter/exceptions.py
services/univention-ad-connector/modules/univention/connector/__init__.py
base/univention-system-setup/umc/python/setup/netconf/modules/ResolvConf.py
base/univention-system-setup/umc/python/setup/netconf/modules/RewriteUcr.py
services/univention-ad-connector/modules/univention/connector/adcache.py
management/univention-directory-manager-modules/modules/univention/admin/modules.py
base/univention-updater/umc/python/updater/__init__.py
services/univention-ad-connector/scripts/make-deleted-objects-readable-for-this-machine
management/univention-appcenter/python/appcenter/install_checks.py
management/univention-management-console/src/univention/management/console/protocol/session.py
services/univention-ad-connector/scripts/well-known-sid-object-rename
test/ucs-test/univention/testing/udm.py
management/univention-appcenter/python/appcenter/actions/update.py
test/ucs-test/univention/testing/mail.py
test/ucs-test-tools/usr/sbin/create-32k-users-in-groups
management/univention-directory-manager-modules/modules/univention/admin/types.py
management/univention-self-service/umc/python/passwordreset/send_plugin.py
management/univention-appcenter/python/appcenter/actions/get.py
test/ucs-test/bin/ucs-test
management/univention-management-console/src/univention/management/console/base.py
management/univention-management-console/src/univention/management/console/tools.py
management/univention-management-console/src/univention/management/console/log.py
management/univention-management-console-module-diagnostic/umc/python/diagnostic/__init__.py
management/univention-portal/python/univention/portal/extensions/reloader.py
management/univention-management-console/src/univention/management/console/acl.py
management/univention-portal/python/univention/portal/extensions/cache.py
management/univention-appcenter/python/appcenter/actions/register.py
management/univention-appcenter/python/appcenter/actions/update_certificates.py
management/univention-management-console/src/univention/management/console/locales.py
management/univention-appcenter/python/appcenter/actions/upgrade_search.py
management/univention-management-console/univention-management-console-web-server
management/univention-appcenter/python/appcenter/actions/list_apps.py
management/univention-appcenter/python/appcenter/app.py
management/univention-portal/python/univention/portal/extensions/portal.py
management/univention-appcenter/python/appcenter/actions/update_check.py
management/univention-appcenter/python/appcenter-docker/actions/shell.py
management/univention-appcenter/python/appcenter/actions/info.py
management/univention-appcenter/python/appcenter-docker/actions/service.py
management/univention-portal/python/univention/portal/extensions/authenticator.py
management/univention-appcenter/python/appcenter/actions/remove.py
management/univention-appcenter/python/appcenter-docker/actions/logs.py
management/univention-management-console/src/univention/management/console/module.py
management/univention-portal/python/univention/portal/extensions/scorer.py
management/univention-appcenter/python/appcenter-docker/actions/reinitialize.py
management/univention-portal/python/univention/portal/__init__.py
test/generate-appliance/bin/generate_appliance
management/univention-management-console/src/univention/management/console/category.py
management/univention-appcenter/python/appcenter-dev/actions/test_appcenter.py
services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py
management/univention-appcenter/python/appcenter/actions/install.py
management/univention-directory-listener/python/univention/listener/handler_logging.py
management/univention-appcenter/python/appcenter/actions/configure.py
services/univention-s4-connector/modules/univention/s4connector/lockingdb.py
management/univention-appcenter/python/appcenter/actions/domain.py
management/univention-appcenter/python/appcenter/actions/upgrade.py
management/univention-directory-listener/python/univention/listener/handler.py
management/univention-appcenter/python/appcenter/actions/stall.py
management/univention-directory-listener/python/univention/listener/api_adapter.py
management/univention-directory-listener/python/listener.py
management/univention-appcenter/python/appcenter/settings.py
management/univention-appcenter/python/appcenter-dev/actions/local_appcenter.py
management/univention-appcenter/python/appcenter/log.py
management/univention-directory-manager-rest/src/univention/admin/rest/server/__init__.py
management/univention-directory-manager-modules/modules/univention/udm/modules/users_ldap_v0.py
management/univention-directory-listener/python/univention/listener/handler_configuration.py
management/univention-directory-manager-modules/modules/univention/udm/modules/nagios_service.py
management/univention-directory-notifier/univention-translog
management/univention-directory-manager-modules/modules/univention/udm/modules/saml_serviceprovider.py
management/univention-directory-manager-modules/modules/univention/udm/modules/policies_share_userquota.py
management/univention-directory-manager-modules/modules/univention/udm/modules/groups_group.py
management/univention-directory-manager-modules/modules/univention/udm/modules/settings_portal_entry.py
management/univention-directory-manager-modules/modules/univention/udm/modules/settings_portal.py
management/univention-directory-manager-modules/modules/univention/admin/password.py
management/univention-directory-manager-modules/modules/univention/udm/modules/appcenter_app.py
management/univention-directory-manager-modules/modules/univention/udm/modules/policies_umc.py
management/univention-directory-manager-modules/modules/univention/udm/modules/policies_registry.py
management/univention-management-console-module-udm/umc/python/udm/udm_ldap.py
management/univention-directory-manager-modules/modules/univention/udm/modules/settings_data.py
management/univention-directory-manager-modules/modules/univention/udm/modules/settings_directory.py
management/univention-directory-manager-modules/modules/univention/udm/connections.py
management/univention-directory-manager-modules/modules/univention/admin/hook.py
management/univention-directory-manager-modules/modules/univention/udm/exceptions.py
management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py
management/univention-directory-manager-modules/modules/univention/udm/modules/generic.py
management/univention-directory-manager-modules/modules/univention/udm/encoders.py
management/univention-directory-manager-modules/modules/univention/udm/modules/users_user.py
management/univention-directory-manager-modules/modules/univention/udm/modules/container_ou.py
management/univention-appcenter/umc/python/appcenter/__init__.py
services/univention-s4-connector/modules/univention/s4connector/__init__.py
management/univention-directory-manager-modules/modules/univention/udm/modules/container_cn.py
management/univention-directory-manager-modules/modules/univention/udm/binary_props.py
management/univention-directory-manager-modules/modules/univention/admin/uldap.py
management/univention-directory-manager-modules/modules/univention/udm/modules/computers_all.py
management/univention-directory-manager-modules/modules/univention/udm/modules/users_ldap_v1.py
management/univention-directory-manager-modules/modules/univention/udm/udm.py
management/univention-directory-manager-modules/modules/univention/admin/config.py
management/univention-directory-manager-modules/modules/univention/udm/modules/container_dc.py
management/univention-directory-manager-modules/modules/univention/admin/layout.py
management/univention-directory-manager-modules/modules/univention/udm/modules/settings_portal_category.py
management/univention-directory-manager-modules/modules/univention/udm/modules/mail_all.py
management/univention-directory-manager-modules/modules/univention/udm/utils.py
services/univention-s4-connector/modules/univention/s4connector/s4cache.py
management/univention-directory-manager-modules/modules/univention/udm/plugins.py
management/univention-directory-manager-modules/modules/univention/admin/mapping.py
management/univention-directory-manager-modules/modules/univention/udm/base.py
management/univention-directory-manager-modules/modules/univention/admin/syntax.py
management/univention-directory-manager-modules/modules/univention/admin/filter.py
management/univention-directory-manager-modules/modules/univention/admin/__init__.py
management/univention-directory-manager-rest/src/univention/admin/rest/module.py
charliermarsh commented 1 year ago

Thanks, I'll take a look.

charliermarsh commented 1 year ago

Oh, sorry, I think you omitted the warning?

warning: `D203` (OneBlankLineBeforeClass) and `D211` (NoBlankLinesBeforeClass) are incompatible. Consider adding `D203` to `ignore`.
warning: debug build without --no-cache.

You have to disable one of those two rules as they conflict. Otherwise, you get an infinite loop here!