sapling/tests/test-hgsubversion-unaffected-core.py
Kostia Balytskyi 82ca3e620b hgsubversion: rename test_util to test_hgsubversion_util
Summary:
This is in line with our general spirit of renaming things into test-extname-smth.

Depends on D6719883

Test Plan: - test fixes and runs follow in the stack

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719886
2018-01-17 03:23:44 -08:00

91 lines
2.7 KiB
Python

import test_hgsubversion_util
import os
from mercurial import commands
from mercurial import dispatch
from mercurial import hg
def _dispatch(ui, cmd):
assert '--quiet' in cmd
try:
req = dispatch.request(cmd, ui=ui)
req.earlyoptions = {'config': [], '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())