aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2016-12-27 17:00:29 +0100
committerGuido Günther <agx@sigxcpu.org>2016-12-27 17:00:29 +0100
commit2783ead2d39587982c8275f4bced5c5db180ce93 (patch)
tree85ae9ae3744c6570b6954fc62c06ec147c98ffd4
parentc1e5feba48782ec6507ae0eacbe5e0ba1f994564 (diff)
config: Don't missubstitute HOME in tests
If the user running the tests has e.g. a home directory of /git-buildpackage we'd end up with '/etcHOME/gbp.conf' when replacing on arbitrary positions. Make the replacement anchored instead.
-rw-r--r--gbp/config.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/gbp/config.py b/gbp/config.py
index 18a3afc5..557e12c4 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -386,15 +386,16 @@ class GbpOptionParser(OptionParser):
@return: list of config files we need to parse
@rtype: C{list}
+ >>> import re
>>> conf_backup = os.getenv('GBP_CONF_FILES')
>>> if conf_backup is not None: del os.environ['GBP_CONF_FILES']
>>> homedir = os.path.expanduser("~")
>>> files = GbpOptionParser.get_config_files()
- >>> files_mangled = [file.replace(homedir, 'HOME') for file in files]
+ >>> files_mangled = [re.sub("^%s" % homedir, 'HOME', file) for file in files]
>>> sorted(files_mangled)
['%(git_dir)s/gbp.conf', '%(top_dir)s/.gbp.conf', '%(top_dir)s/debian/gbp.conf', '/etc/git-buildpackage/gbp.conf', 'HOME/.gbp.conf']
>>> files = GbpOptionParser.get_config_files(no_local=True)
- >>> files_mangled = [file.replace(homedir, 'HOME') for file in files]
+ >>> files_mangled = [re.sub("^%s" % homedir, 'HOME', file) for file in files]
>>> sorted(files_mangled)
['/etc/git-buildpackage/gbp.conf', 'HOME/.gbp.conf']
>>> os.environ['GBP_CONF_FILES'] = 'test1:test2'