diff options
| author | Barry Warsaw | 2014-03-02 17:59:30 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2014-03-02 17:59:30 -0500 |
| commit | b2212b052aa80376e0a42aaee87306dd43fe4608 (patch) | |
| tree | 55d7e246009289457a00e5360839fe1b4661b4c5 /src | |
| parent | 703cd02ce0dd891d04d635513af74e24e4a9615c (diff) | |
| download | mailman-b2212b052aa80376e0a42aaee87306dd43fe4608.tar.gz mailman-b2212b052aa80376e0a42aaee87306dd43fe4608.tar.zst mailman-b2212b052aa80376e0a42aaee87306dd43fe4608.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/config/config.py | 6 | ||||
| -rw-r--r-- | src/mailman/config/mailman.cfg | 2 | ||||
| -rw-r--r-- | src/mailman/config/tests/test_configuration.py | 47 |
3 files changed, 44 insertions, 11 deletions
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 @@ -259,12 +259,6 @@ class Configuration: 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.""" for section in self._config.getByCategory('language', []): 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,)) |
