mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
fbe2b42f80
The definition of `patch_main()` has behavior that kicks in only on Windows and for Python 2. Unfortunately, not all of our `mach` commands have been migrated to Python 3, so this still matters. Bug 1654103 replaced the single-quoted strings in this function with double-quoted strings. This should be fine, except that we call into `multiprocessing.forking.main()` with some monkey-patching that is meant to fix a Windows-specific bug (see bug 1316140). We don't do any clever serialization or anything here and we end up just passing that source to `multiprocessing.forking.main()` which aggregates that source code [dumbly](https://github.com/python/cpython/blob/2.7/Lib/multiprocessing/forking.py#L259), wrapping everything in double-quotes again and passing it to `_subprocess.CreateProcess()`, which ends up failing if the source contains strings formatted with double quotes. We could revert bug 1654103 and exempt this file from linting, but that is overkill given that this file otherwise contains useful stuff. Instead we move everything to another file, exempt that file from linting, and update `util.py` accordingly. Differential Revision: https://phabricator.services.mozilla.com/D94909
136 lines
4.9 KiB
INI
136 lines
4.9 KiB
INI
[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/encoding,
|
|
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/mozbuild/fork_interpose.py,
|
|
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,
|
|
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,
|
|
testing/web-platform/tests,
|
|
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/mozbase/mozlog/tests/test_formatters.py: E501
|
|
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
|