Mercurial > python-hglib
view tests/test-grep.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 | 1a318162f06f |
line wrap: on
line source
from tests import common from hglib.util import b class test_grep(common.basetest): def test_basic(self): self.append('a', 'a\n') self.append('b', 'ab\n') self.client.commit(b('first'), addremove=True) # no match self.assertEquals(list(self.client.grep(b('c'))), []) self.assertEquals(list(self.client.grep(b('a'))), [(b('a'), b('0'), b('a')), (b('b'), b('0'), b('ab'))]) self.assertEquals(list(self.client.grep(b('a'), b('a'))), [(b('a'), b('0'), b('a'))]) self.assertEquals(list(self.client.grep(b('b'))), [(b('b'), b('0'), b('ab'))]) def test_options(self): self.append('a', 'a\n') self.append('b', 'ab\n') rev, node = self.client.commit(b('first'), addremove=True) self.assertEquals([(b('a'), b('0'), b('+'), b('a')), (b('b'), b('0'), b('+'), b('ab'))], list(self.client.grep(b('a'), all=True))) self.assertEquals([(b('a'), b('0')), (b('b'), b('0'))], list(self.client.grep(b('a'), fileswithmatches=True))) self.assertEquals([(b('a'), b('0'), b('1'), b('a')), (b('b'), b('0'), b('1'), b('ab'))], list(self.client.grep(b('a'), line=True))) self.assertEquals([(b('a'), b('0'), b('test'), b('a')), (b('b'), b('0'), b('test'), b('ab'))], list(self.client.grep(b('a'), user=True))) self.assertEquals([(b('a'), b('0'), b('1'), b('+'), b('test')), (b('b'), b('0'), b('1'), b('+'), b('test'))], list(self.client.grep(b('a'), all=True, user=True, line=True, fileswithmatches=True)))