Mercurial > public > mercurial-scm > python-hglib
view tests/test-commit.py @ 200:7da1dad166b5
client: ignore close() on non-open clients (issue5751)
Closing a client twice currently triggers a rather confusing exception.
Instead, follow the convention set by Python's file objects, and ignore close()
commands on non-open clients.
author | G?bor Stefanik <gabor.stefanik@nng.com> |
---|---|
date | Mon, 12 Feb 2018 14:54:09 +0100 |
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()))