Summary:
Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`.
Then run `arc lint` again so some other autofixers like spellchecker etc. looked
at the code base. Manually accept the changes whenever they make sense, or use
a workaround (ex. changing "dict()" to "dict constructor") where autofix is false
positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less
interesting to fix (hgsubversion tests), or cannot be fixed without breaking
OSS build (FBPYTHON4).
Conflicted linters (test-check-module-imports.t, part of test-check-code.t,
test-check-pyflakes.t) are removed or disabled.
Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed.
An issue of the auto-formatter is lines are no longer guarnateed to be <= 80
chars. But that seems less important comparing with the benefit auto-formatter
provides.
As we're here, also remove test-check-py3-compat.t, as it is currently broken
if `PYTHON3=/bin/python3` is set.
Reviewed By: wez, phillco, simpkins, pkaush, singhsrb
Differential Revision: D8173629
fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
Summary:
This test output is unstable. Let's make the test robust by ignoring
the shelve extension (which we will soon delete) and squelching the unrelated
output.
Test Plan: run-tests.py multiple times
Reviewers: ikostia, #mercurial
Reviewed By: ikostia
Differential Revision: https://phabricator.intern.facebook.com/D6683495
Signature: 6683495:1515513516:efd3964a0053b48d770b2af04b244295dba2d807
Summary:
lz4revlog and hgsql have external dependencies and loading them may have the
side effect printing "*** failed to import extension *". Therefore ignore
them to stabilize the test.
Test Plan:
Run the test on a machine that do not have lz4 or mysql.connector installed and
make sure it passes.
Reviewers: durham, #mercurial
Reviewed By: durham
Differential Revision: https://phabricator.intern.facebook.com/D6678526
Signature: 6678526:1515454289:ad50291d22889aafcec007c15ff2974dfe05cb13
This allows us to write doctests depending on a ui object, but not on global
configs.
ui.load() is a class method so we can do wsgiui.load(). All ui() calls but
for doctests are replaced with ui.load(). Some of them could be changed to
not load configs later.
This extension has always had correctness issues and has been
unmaintained for years. It is now removed in favor of the third-party
hgwatchman which is maintained and appears to be correct.
Users with inotify enabled in their config files will fall back to
standard status performance.
This patch contains support for Plan 9 from Bell Labs. A README is
provided in contrib/plan9 which describes the port in greater detail.
A new extension is also provided named factotum which permits the
factotum(4) authentication agent to provide credentials for HTTP
repositories. This extension is also applicable to other POSIX
platforms which make use of Plan 9 from User Space (aka plan9ports).
The inotify extension is only available on linux and setup.py will not install
it on other platforms - but it will of course always be there in the source.
test-duplicateoptions.py tried to load most extensions (including inotify if
available). When the local uninstalled Mercurial was used it would thus always
load the inotify extension and cause a warning on unsupported platforms.
The inotify extension is not relevant for this test, so now we explicitly
ignore it.