From 2fa21e92d57f05488bad732a4da3fb5131ee1ca1 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 1 Jan 2014 09:59:42 -0500 Subject: Bump copyright years. --- src/mailman/config/tests/test_configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mailman/config/tests/test_configuration.py') diff --git a/src/mailman/config/tests/test_configuration.py b/src/mailman/config/tests/test_configuration.py index 3a4e94913..3009e384c 100644 --- a/src/mailman/config/tests/test_configuration.py +++ b/src/mailman/config/tests/test_configuration.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2013 by the Free Software Foundation, Inc. +# Copyright (C) 2012-2014 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # -- cgit v1.2.3-70-g09d2 From b2212b052aa80376e0a42aaee87306dd43fe4608 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Sun, 2 Mar 2014 17:59:30 -0500 Subject: - Configuration.style_configs(): Removed unused code. - mailman.cfg: Removed unused section. - Improve the config.py test coverage to 100%. --- src/mailman/config/config.py | 6 ---- src/mailman/config/mailman.cfg | 2 -- src/mailman/config/tests/test_configuration.py | 47 ++++++++++++++++++++++++-- 3 files changed, 44 insertions(+), 11 deletions(-) (limited to 'src/mailman/config/tests/test_configuration.py') diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py index 67884f8b2..e8c8ebc8b 100644 --- a/src/mailman/config/config.py +++ b/src/mailman/config/config.py @@ -258,12 +258,6 @@ class Configuration: archiver.is_enabled = as_boolean(section.enable) yield archiver - @property - def style_configs(self): - """Iterate over all the style configuration sections.""" - for section in self._config.getByCategory('style', []): - yield section - @property def language_configs(self): """Iterate over all the language configuration sections.""" diff --git a/src/mailman/config/mailman.cfg b/src/mailman/config/mailman.cfg index f518881d0..24e81ec91 100644 --- a/src/mailman/config/mailman.cfg +++ b/src/mailman/config/mailman.cfg @@ -89,5 +89,3 @@ class: mailman.runners.virgin.VirginRunner [runner.digest] class: mailman.runners.digest.DigestRunner - -[style.default] diff --git a/src/mailman/config/tests/test_configuration.py b/src/mailman/config/tests/test_configuration.py index 3009e384c..3c623c005 100644 --- a/src/mailman/config/tests/test_configuration.py +++ b/src/mailman/config/tests/test_configuration.py @@ -22,19 +22,22 @@ from __future__ import absolute_import, print_function, unicode_literals __metaclass__ = type __all__ = [ 'TestConfiguration', + 'TestConfigurationErrors', 'TestExternal', ] +import os +import tempfile import unittest -from pkg_resources import resource_filename - -from mailman.config.config import external_configuration, load_external +from mailman.config.config import ( + Configuration, external_configuration, load_external) from mailman.interfaces.configuration import ( ConfigurationUpdatedEvent, MissingConfigurationFileError) from mailman.testing.helpers import configuration, event_subscribers from mailman.testing.layers import ConfigLayer +from pkg_resources import resource_filename @@ -99,3 +102,41 @@ class TestExternal(unittest.TestCase): with self.assertRaises(MissingConfigurationFileError) as cm: external_configuration('path:mailman.config.missing') self.assertEqual(cm.exception.path, 'path:mailman.config.missing') + + + +class TestConfigurationErrors(unittest.TestCase): + layer = ConfigLayer + + def test_bad_path_layout_specifier(self): + # Using a [mailman]layout name that doesn't exist is a fatal error. + fd, filename = tempfile.mkstemp() + self.addCleanup(os.remove, filename) + os.close(fd) + with open(filename, 'w') as fp: + print("""\ +[mailman] +layout: nonesuch +""", file=fp) + # Use a fake sys.exit() function that records that it was called, and + # that prevents further processing. + config = Configuration() + with self.assertRaises(SystemExit) as cm: + config.load(filename) + self.assertEqual(cm.exception.args, (1,)) + + def test_path_expansion_infloop(self): + # A path expansion never completes because it references a + # non-existent substitution variable. + fd, filename = tempfile.mkstemp() + self.addCleanup(os.remove, filename) + os.close(fd) + with open(filename, 'w') as fp: + print("""\ +[paths.dev] +log_dir: $nopath/log_dir +""", file=fp) + config = Configuration() + with self.assertRaises(SystemExit) as cm: + config.load(filename) + self.assertEqual(cm.exception.args, (1,)) -- cgit v1.2.3-70-g09d2