Mercurial > python-hglib
view tests/test_log.py @ 226:7b6ea46ea111
setup.py: clean up use of os.popen
author | Mathias De Mare <mathias.de_mare@nokia.com> |
---|---|
date | Tue, 14 Mar 2023 10:23:08 +0100 |
parents | fba806958dba |
children |
line wrap: on
line source
from tests import common import hglib from hglib.util import b import subprocess class test_log(common.basetest): def test_basic(self): self.append('a', 'a') rev0, node0 = self.client.commit(b('first'), addremove=True) self.append('a', 'a') rev1, node1 = self.client.commit(b('second')) revs = self.client.log() revs.reverse() self.assertTrue(len(revs) == 2) self.assertEqual(revs[1].node, node1) self.assertEqual(revs[0], self.client.log(b('0'))[0]) self.assertEqual(self.client.log(), self.client.log(files=[b('a')])) self.assertEqual(self.client.log(), self.client.log(hidden=True)) def test_dash_in_filename(self): self.append('-a', '-a') self.client.commit(b('first'), addremove=True) revs = self.client.log(files=[b('-a')]) self.assertTrue(len(revs) == 1) self.assertEqual(revs[0].rev, b('0')) def test_empty_short_option(self): self.append('foobar', 'foobar') self.client.commit(b('first'), addremove=True) revs = self.client.log(keyword=b(''), files=[b('foobar')]) self.assertTrue(len(revs) == 1) self.assertEqual(revs[0].rev, b('0')) def test_null_byte(self): self.append('a', 'a') with open('commitmessagenullbyte', 'w') as f: f.write('some message\0more stuff') # use 'hg' directly here as hglib doesn't allow # committing null byte descriptions subprocess.check_call(["hg", "commit", "-l", "commitmessagenullbyte", "--addremove", "-q"]) revs = self.client.log(revrange=b('.')) self.assertEqual(revs[0].desc, b('some message\0more stuff')) # def test_errors(self): # self.assertRaisesRegexp(CommandError, 'abort: unknown revision', # self.client.log, 'foo') # self.append('a', 'a') # self.client.commit('first', addremove=True) # self.assertRaisesRegexp(CommandError, # 'abort: unknown revision', # self.client.log, 'bar')