diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-03-22 16:30:23 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-03-22 16:30:23 +0000 |
| commit | 3b8db7e5072c7fd04b2bad637a5718f07d6f967c (patch) | |
| tree | bed911f707d0d43035e55d804dc290a031325593 /tests | |
| parent | 727d784a0f732082497928798247f0e7ad4c0361 (diff) | |
| parent | c87e615bf98981219c2f92242f6ff9ee6753d786 (diff) | |
| download | oslo-3b8db7e5072c7fd04b2bad637a5718f07d6f967c.tar.gz oslo-3b8db7e5072c7fd04b2bad637a5718f07d6f967c.tar.xz oslo-3b8db7e5072c7fd04b2bad637a5718f07d6f967c.zip | |
Merge "Gracefully handle errors in logging config files"
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/unit/test_log.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py index 6a1eeb2..4241e2e 100644 --- a/tests/unit/test_log.py +++ b/tests/unit/test_log.py @@ -1,7 +1,9 @@ import cStringIO import logging +import os import StringIO import sys +import tempfile from oslo.config import cfg @@ -377,3 +379,49 @@ class LogConfigOptsTestCase(test_utils.BaseTestCase): logdir = '/some/other/path/' CONF(['--logdir', logdir]) self.assertEquals(CONF.log_dir, logdir) + + +class LogConfigTestCase(test_utils.BaseTestCase): + + minimal_config = """[loggers] +keys=root + +[formatters] +keys= + +[handlers] +keys= + +[logger_root] +handlers= +""" + + def _create_tempfile(self, basename, contents, ext='.conf'): + (fd, path) = tempfile.mkstemp(prefix=basename, suffix=ext) + try: + os.write(fd, contents) + finally: + os.close(fd) + return path + + def test_log_config_ok(self): + log_config = self._create_tempfile('logging', self.minimal_config) + self.config(log_config=log_config) + log.setup('test_log_config') + + def test_log_config_not_exist(self): + log_config = self._create_tempfile('logging', self.minimal_config) + os.remove(log_config) + self.config(log_config=log_config) + self.assertRaises(log.LogConfigError, log.setup, 'test_log_config') + + def test_log_config_invalid(self): + log_config = self._create_tempfile('logging', self.minimal_config[5:]) + self.config(log_config=log_config) + self.assertRaises(log.LogConfigError, log.setup, 'test_log_config') + + def test_log_config_unreadable(self): + log_config = self._create_tempfile('logging', self.minimal_config) + os.chmod(log_config, 0) + self.config(log_config=log_config) + self.assertRaises(log.LogConfigError, log.setup, 'test_log_config') |
