Mercurial > python-hglib
view tests/test-commit.py @ 197:6949fc164439 2.5
hgclient: look for an open server before closing it in ResponseError block
At least some of the codepaths that can throw a ResponseError close
the server first (the one in _readchannel does so in order to detect
server startup failures, for example), so we have to verify we have a
server to close before doing so, otherwise we can lose the
ResponseError and the user sees an AttributeError when we try to use
.close() on a NoneType.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 10 Dec 2017 12:52:37 -0500 |
parents | c1b966866ed7 |
children | 67398bbf788d |
line wrap: on
line source
from tests import common import hglib, datetime from hglib.util import b class test_commit(common.basetest): def test_user(self): self.append('a', 'a') rev, node = self.client.commit(b('first'), addremove=True, user=b('foo')) rev = self.client.log(node)[0] self.assertEquals(rev.author, b('foo')) def test_no_user(self): self.append('a', 'a') self.assertRaises(hglib.error.CommandError, self.client.commit, b('first'), user=b('')) def test_close_branch(self): self.append('a', 'a') rev0, node0 = self.client.commit(b('first'), addremove=True) self.client.branch(b('foo')) self.append('a', 'a') rev1, node1 = self.client.commit(b('second')) revclose = self.client.commit(b('closing foo'), closebranch=True) rev0, rev1, revclose = self.client.log([node0, node1, revclose[1]]) self.assertEquals(self.client.branches(), [(rev0.branch, int(rev0.rev), rev0.node[:12])]) self.assertEquals(self.client.branches(closed=True), [(revclose.branch, int(revclose.rev), revclose.node[:12]), (rev0.branch, int(rev0.rev), rev0.node[:12])]) def test_message_logfile(self): self.assertRaises(ValueError, self.client.commit, b('foo'), logfile=b('bar')) self.assertRaises(ValueError, self.client.commit) def test_date(self): self.append('a', 'a') now = datetime.datetime.now().replace(microsecond=0) rev0, node0 = self.client.commit( b('first'), addremove=True, date=now.isoformat(' ').encode('latin-1')) self.assertEquals(now, self.client.tip().date) def test_amend(self): self.append('a', 'a') now = datetime.datetime.now().replace(microsecond=0) rev0, node0 = self.client.commit( b('first'), addremove=True, date=now.isoformat(' ').encode('latin-1')) self.assertEquals(now, self.client.tip().date) self.append('a', 'a') rev1, node1 = self.client.commit(amend=True) self.assertEquals(now, self.client.tip().date) self.assertNotEquals(node0, node1) self.assertEqual(1, len(self.client.log()))