From a398833e720953e41e71f01c775a7431176c87c9 Mon Sep 17 00:00:00 2001 From: Paul Morgan Date: Sun, 9 Mar 2014 00:45:52 +0000 Subject: [PATCH] avoid TB on python3 due to git format string Use RawConfigParser instead of ConfigParser to avoid... Traceback (most recent call last): File "/home/sandbox/test/functional/multiproject_tests.py", line 68, in setUp self.create_project(TEST_PKG_1, os.path.join(self.repo_dir, 'pkg1')) File "/home/sandbox/test/functional/fixture.py", line 198, in create_project tito('tag --keep-version --debug --accept-auto-changelog') File "/home/sandbox/test/functional/fixture.py", line 103, in tito return CLI().main(argstring.split(' ')) File "/home/sandbox/src/tito/cli.py", line 222, in main return module.main(argv) File "/home/sandbox/src/tito/cli.py", line 671, in main offline=self.options.offline) File "/home/sandbox/src/tito/tagger/main.py", line 51, in __init__ ConfigObject.__init__(self, config=config) File "/home/sandbox/src/tito/config_object.py", line 38, in __init__ config.get(section, options)) File "/usr/lib64/python3.3/configparser.py", line 1184, in set super().set(section, option, value) File "/usr/lib64/python3.3/configparser.py", line 889, in set value) File "/usr/lib64/python3.3/configparser.py", line 399, in before_set "position %d" % (value, tmp_value.find('%'))) nose.proxy.ValueError: ValueError: invalid interpolation syntax in '%s (%ae)' at position 0 --- src/tito/cli.py | 4 ++-- src/tito/compat.py | 2 -- test/unit/test_build_target_parser.py | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/tito/cli.py b/src/tito/cli.py index 6c46714..5d00ea9 100644 --- a/src/tito/cli.py +++ b/src/tito/cli.py @@ -90,7 +90,7 @@ class ConfigLoader(object): # Load the global config. Later, when we know what tag/package we're # building, we may also load that and potentially override some global # settings. - config = ConfigParser() + config = RawConfigParser() config.read(filename) self._check_legacy_globalconfig(config) @@ -492,7 +492,7 @@ class ReleaseModule(BaseCliModule): """ rel_eng_dir = os.path.join(find_git_root(), "rel-eng") filename = os.path.join(rel_eng_dir, RELEASERS_CONF_FILENAME) - config = ConfigParser() + config = RawConfigParser() config.read(filename) return config diff --git a/src/tito/compat.py b/src/tito/compat.py index fdae0b9..52147df 100644 --- a/src/tito/compat.py +++ b/src/tito/compat.py @@ -19,13 +19,11 @@ ENCODING = sys.getdefaultencoding() PY2 = sys.version_info[0] == 2 if PY2: import commands - from ConfigParser import ConfigParser from ConfigParser import NoOptionError from ConfigParser import RawConfigParser from StringIO import StringIO else: import subprocess - from configparser import ConfigParser from configparser import NoOptionError from configparser import RawConfigParser from io import StringIO diff --git a/test/unit/test_build_target_parser.py b/test/unit/test_build_target_parser.py index 79f0b3b..b236333 100644 --- a/test/unit/test_build_target_parser.py +++ b/test/unit/test_build_target_parser.py @@ -12,7 +12,7 @@ class BuildTargetParserTests(unittest.TestCase): self.valid_branches = ["branch1", "branch2"] self.release_target = "project-x.y.z" - self.releasers_config = ConfigParser() + self.releasers_config = RawConfigParser() self.releasers_config.add_section(self.release_target) self.releasers_config.set(self.release_target, "build_targets", "branch1:project-x.y.z-candidate")