mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Fix error parsing a non-existant configuration file
If a file (e.g. ~/.gitconfig) does not exist, we get None here rather than a string. NoneType lacks rstrip() so we cannot strip it. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
2d1a396897
commit
c24c720b61
@ -265,9 +265,11 @@ class GitConfig(object):
|
|||||||
This internal method populates the GitConfig cache.
|
This internal method populates the GitConfig cache.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
d = self._do('--null', '--list').rstrip('\0')
|
|
||||||
c = {}
|
c = {}
|
||||||
for line in d.split('\0'):
|
d = self._do('--null', '--list')
|
||||||
|
if d is None:
|
||||||
|
return c
|
||||||
|
for line in d.rstrip('\0').split('\0'):
|
||||||
if '\n' in line:
|
if '\n' in line:
|
||||||
key, val = line.split('\n', 1)
|
key, val = line.split('\n', 1)
|
||||||
else:
|
else:
|
||||||
|
@ -39,5 +39,14 @@ class GitConfigUnitTest(unittest.TestCase):
|
|||||||
val = self.config.GetString('section.nonempty')
|
val = self.config.GetString('section.nonempty')
|
||||||
self.assertEqual(val, 'true')
|
self.assertEqual(val, 'true')
|
||||||
|
|
||||||
|
def test_GetString_from_missing_file(self):
|
||||||
|
"""
|
||||||
|
Test missing config file
|
||||||
|
"""
|
||||||
|
config_fixture = fixture('not.present.gitconfig')
|
||||||
|
config = git_config.GitConfig(config_fixture)
|
||||||
|
val = config.GetString('empty')
|
||||||
|
self.assertEqual(val, None)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Loading…
Reference in New Issue
Block a user