.flake8
author Razvan Maries <rmaries@mozilla.com>
Thu, 13 Aug 2020 16:16:03 +0300
changeset 544511 06e4f8547d78187f934074b2b4ff4d4d4d12efd5
parent 541542 bc83536b5d52cf835e89a4d1782ea3d44440fca3
permissions -rw-r--r--
Backed out 3 changesets (bug 1658279) for perma failures on browser_topsites_section.js. CLOSED TREE Backed out changeset 728d98643858 (bug 1658279) Backed out changeset 761efef13026 (bug 1658279) Backed out changeset 25869d8b6148 (bug 1658279)

[flake8]
max-line-length = 99
exclude =
    # These paths should be triaged and either fixed or moved to the list below.
    devtools/shared,
    dom/base,
    dom/bindings,
    dom/canvas,
    dom/encoding,
    dom/websocket,
    gfx/tests,
    ipc/ipdl/ipdl,
    layout/base/tests/marionette,
    layout/reftests/border-image,
    layout/reftests/fonts,
    layout/reftests/w3c-css,
    layout/style,
    media/libdav1d/generate_source.py,
    moz.configure,
    netwerk/dns/prepare_tlds.py,
    netwerk/protocol/http/make_incoming_tables.py,
    python/devtools/migrate-l10n/migrate/main.py,
    python/l10n/fluent_migrations,
    python/mozbuild/dumbmake,
    security/manager/ssl/tests/unit,
    servo/components/style,
    testing/condprofile/condprof/android.py,
    testing/condprofile/condprof/creator.py,
    testing/condprofile/condprof/desktop.py,
    testing/condprofile/condprof/runner.py,
    testing/condprofile/condprof/scenarii/heavy.py,
    testing/condprofile/condprof/scenarii/settled.py,
    testing/condprofile/condprof/scenarii/synced.py
    testing/condprofile/condprof/helpers.py,
    testing/jsshell/benchmark.py,
    testing/marionette/mach_commands.py,
    testing/mozharness/docs,
    testing/mozharness/examples,
    testing/mozharness/external_tools,
    testing/mozharness/mach_commands.py,
    testing/mozharness/manifestparser,
    testing/mozharness/mozprocess,
    testing/mozharness/setup.py,
    testing/parse_build_tests_ccov.py,
    testing/runtimes/writeruntimes.py,
    testing/tools/iceserver/iceserver.py,
    testing/tools/websocketprocessbridge/websocketprocessbridge.py,
    testing/web-platform,
    toolkit/components/featuregates,
    toolkit/content/tests/chrome/file_about_networking_wsh.py,
    toolkit/library/build/dependentlibs.py,
    toolkit/locales/generate_update_locale.py,
    toolkit/mozapps,
    toolkit/moz.configure,
    toolkit/nss.configure,

    # These paths are intentionally excluded (not necessarily for good reason).
    build/build-infer/build-infer.py,
    build/moz.configure/*.configure,
    build/pymake/,
    browser/extensions/mortar/ppapi/,
    browser/moz.configure,
    dom/canvas/test/webgl-conf/checkout/closure-library/,
    editor/libeditor/tests/browserscope/,
    intl/icu/,
    ipc/chromium/src/third_party/,
    js/*.configure,
    gfx/angle/,
    gfx/harfbuzz,
    gfx/skia/,
    memory/moz.configure,
    mobile/android/*.configure,
    node_modules,
    python/mozbuild/mozbuild/test/configure/data,
    security/nss/,
    testing/marionette/harness/marionette_harness/runner/mixins,
    testing/marionette/harness/marionette_harness/tests,
    testing/mochitest/pywebsocket3,
    testing/mozharness/configs/test/test_malformed.py,
    tools/lint/test/files,
    tools/infer/test/*.configure,
    tools/crashreporter/*.configure,
    .ycm_extra_conf.py,

    # This file uses py3.7 only syntax, so can't currently be checked by flake8 in-tree
    tools/crashreporter/system-symbols/win/symsrv-fetch.py

# See:
#   - http://flake8.pycqa.org/en/latest/user/error-codes.html
#   - http://pep8.readthedocs.io/en/latest/intro.html#configuration
ignore =
    # These should be triaged and either fixed or moved to the list below.
    W504, W605, W606,
    # These are intentionally disabled (not necessarily for good reason).
    #   F723: syntax error in type comment
    #       text contains quotes which breaks our custom JSON formatter
    F723, E121, E123, E126, E129, E133, E226, E241, E242, E402, E704, E741, W503,

    # black will generate code that breaks these. they're not PEP8 compliant though;
    # see https://github.com/psf/black/blob/master/docs/compatible_configs.md#flake8
    W503, E203

per-file-ignores =
    # These paths are intentionally excluded.
    ipc/ipdl/*: F403, F405
    layout/tools/reftest/selftest/conftest.py: F811
    # cpp_eclipse has a lot of multi-line embedded XML which exceeds line length
    python/mozbuild/mozbuild/backend/cpp_eclipse.py: E501
    testing/firefox-ui/**/__init__.py: F401
    testing/marionette/**/__init__.py: F401
    testing/mochitest/tests/python/conftest.py: F811
    testing/mozbase/manifestparser/tests/test_filters.py: E731
    testing/mozharness/configs/*: E124, E127, E128, E131, E231, E261, E265, E266, E501, W391

    # These paths contain Python-2 only syntax which cause errors since flake8
    # is run with Python 3.
    browser/app/macversion.py: F633
    build/**: F633, F821
    config/**: F633, F821
    ipc/pull-chromium.py: F633
    js/**: F633, F821
    memory/**: F821
    mozglue/**: F821
    python/mozbuild/**: F821
    python/mozbuild/mozbuild/test/configure/test_checks_configure.py: E128
    python/mozversioncontrol/**: F821
    testing/mozharness/**: F821
    testing/talos/**: F821
    toolkit/components/telemetry/**: F821
    testing/firefox-ui/tests/functional/safebrowsing/test_initial_download.py: F821
    testing/mochitest/**: F821
    xpcom/idl-parser/xpidl/**: F633, F821

builtins =
    # For GDB extensions
    gdb