Mercurial > python-hglib
view tests/test-config.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 |
line wrap: on
line source
from tests import common import os, hglib from hglib.util import b class test_config(common.basetest): def setUp(self): common.basetest.setUp(self) f = open('.hg/hgrc', 'a') f.write('[section]\nkey=value\n') f.close() self.client = hglib.open() def test_basic(self): config = self.client.config() self.assertTrue( (b('section'), b('key'), b('value')) in self.client.config()) self.assertTrue([(b('section'), b('key'), b('value'))], self.client.config(b('section'))) self.assertTrue([(b('section'), b('key'), b('value'))], self.client.config([b('section'), b('foo')])) self.assertRaises(hglib.error.CommandError, self.client.config, [b('a.b'), b('foo')]) def test_show_source(self): config = self.client.config(showsource=True) self.assertTrue((os.path.abspath(b('.hg/hgrc')) + b(':2'), b('section'), b('key'), b('value')) in config) class test_config_arguments(common.basetest): def test_basic(self): client = hglib.open(configs=[b('diff.unified=5'), b('a.b=foo')]) self.assertEqual(client.config(b('a')), [(b('a'), b('b'), b('foo'))]) self.assertEqual(client.config(b('diff')), [(b('diff'), b('unified'), b('5'))])