mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
584656dff3
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
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
import test_hgsubversion_util
|
|
from mercurial import commands, hg
|
|
|
|
|
|
class TestHooks(test_hgsubversion_util.TestBase):
|
|
|
|
def setUp(self):
|
|
super(TestHooks, self).setUp()
|
|
|
|
def _loadupdate(self, fixture_name, *args, **kwargs):
|
|
kwargs = kwargs.copy()
|
|
kwargs.update(noupdate=False)
|
|
repo, repo_path = self.load_and_fetch(fixture_name, *args, **kwargs)
|
|
return repo, repo_path
|
|
|
|
def test_updatemetahook(self):
|
|
repo, repo_path = self._loadupdate("single_rev.svndump")
|
|
self.add_svn_rev(repo_path, {"trunk/alpha": "Changed"})
|
|
commands.pull(self.repo.ui, self.repo)
|
|
|
|
# Clone to a new repository and add a hook
|
|
new_wc_path = "%s-2" % self.wc_path
|
|
commands.clone(self.repo.ui, self.wc_path, new_wc_path)
|
|
newrepo = hg.repository(test_hgsubversion_util.testui(), new_wc_path)
|
|
newrepo.ui.setconfig(
|
|
"hooks",
|
|
"changegroup.meta",
|
|
"python:hgext.hgsubversion.hooks.updatemeta.hook",
|
|
)
|
|
|
|
# Commit a rev that should trigger svn meta update
|
|
self.add_svn_rev(repo_path, {"trunk/alpha": "Changed Again"})
|
|
commands.pull(self.repo.ui, self.repo)
|
|
|
|
self.called = False
|
|
from hgext.hgsubversion import svncommands
|
|
|
|
oldupdatemeta = svncommands.updatemeta
|
|
|
|
def _updatemeta(ui, repo, args=[]):
|
|
self.called = True
|
|
|
|
svncommands.updatemeta = _updatemeta
|
|
|
|
# Pull and make sure our updatemeta function gets called
|
|
commands.pull(newrepo.ui, newrepo)
|
|
svncommands.updatemeta = oldupdatemeta
|
|
self.assertTrue(self.called)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import silenttestrunner
|
|
|
|
silenttestrunner.main(__name__)
|