mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +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
111 lines
2.9 KiB
Python
111 lines
2.9 KiB
Python
# @nolint
|
|
|
|
import os
|
|
|
|
import test_hgsubversion_util
|
|
from mercurial import commands, dispatch, hg
|
|
|
|
|
|
def _dispatch(ui, cmd):
|
|
assert "--quiet" in cmd
|
|
try:
|
|
req = dispatch.request(cmd, ui=ui)
|
|
req.earlyoptions = {
|
|
"config": [],
|
|
"configfile": [],
|
|
"cwd": "",
|
|
"debugger": None,
|
|
"profile": False,
|
|
"repository": "",
|
|
}
|
|
dispatch._dispatch(req)
|
|
except AttributeError:
|
|
dispatch._dispatch(ui, cmd)
|
|
|
|
|
|
class TestMercurialCore(test_hgsubversion_util.TestBase):
|
|
"""
|
|
Test that the core Mercurial operations aren't broken by hgsubversion.
|
|
"""
|
|
|
|
@test_hgsubversion_util.requiresoption("updaterev")
|
|
def test_update(self):
|
|
""" Test 'clone --updaterev' """
|
|
ui = self.ui()
|
|
_dispatch(ui, ["init", "--quiet", self.wc_path])
|
|
repo = self.repo
|
|
repo.ui.setconfig("ui", "username", "anonymous")
|
|
|
|
fpath = os.path.join(self.wc_path, "it")
|
|
f = file(fpath, "w")
|
|
f.write("C1")
|
|
f.flush()
|
|
commands.add(ui, repo)
|
|
commands.commit(ui, repo, message="C1")
|
|
f.write("C2")
|
|
f.flush()
|
|
commands.commit(ui, repo, message="C2")
|
|
f.write("C3")
|
|
f.flush()
|
|
commands.commit(ui, repo, message="C3")
|
|
|
|
self.assertEqual(test_hgsubversion_util.repolen(repo), 3)
|
|
|
|
updaterev = 1
|
|
_dispatch(
|
|
ui,
|
|
[
|
|
"clone",
|
|
"--quiet",
|
|
self.wc_path,
|
|
self.wc_path + "2",
|
|
"--updaterev=%s" % updaterev,
|
|
],
|
|
)
|
|
|
|
repo2 = hg.repository(ui, self.wc_path + "2")
|
|
|
|
self.assertEqual(str(repo[updaterev]), str(repo2["."]))
|
|
|
|
@test_hgsubversion_util.requiresoption("branch")
|
|
def test_branch(self):
|
|
""" Test 'clone --branch' """
|
|
ui = self.ui()
|
|
_dispatch(ui, ["init", "--quiet", self.wc_path])
|
|
repo = self.repo
|
|
repo.ui.setconfig("ui", "username", "anonymous")
|
|
|
|
fpath = os.path.join(self.wc_path, "it")
|
|
f = file(fpath, "w")
|
|
f.write("C1")
|
|
f.flush()
|
|
commands.add(ui, repo)
|
|
commands.branch(ui, repo, label="B1")
|
|
commands.commit(ui, repo, message="C1")
|
|
f.write("C2")
|
|
f.flush()
|
|
commands.branch(ui, repo, label="default")
|
|
commands.commit(ui, repo, message="C2")
|
|
f.write("C3")
|
|
f.flush()
|
|
commands.branch(ui, repo, label="B2")
|
|
commands.commit(ui, repo, message="C3")
|
|
|
|
self.assertEqual(test_hgsubversion_util.repolen(repo), 3)
|
|
|
|
branch = "B1"
|
|
_dispatch(
|
|
ui,
|
|
["clone", "--quiet", self.wc_path, self.wc_path + "2", "--branch", branch],
|
|
)
|
|
|
|
repo2 = hg.repository(ui, self.wc_path + "2")
|
|
|
|
self.assertEqual(repo[branch].hex(), repo2["."].hex())
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import silenttestrunner
|
|
|
|
silenttestrunner.main(__name__)
|