Revision: 2069
Author: laukpe
Date: Tue Jul 28 04:17:39 2009
Log: Allow disabling automatic console logger more than once (latter calls
are simply ignored). Fixes issue 306.
http://code.google.com/p/robotframework/source/detail?r=2069
Modified:
/trunk/src/robot/output/logger.py
/trunk/utest/output/test_logger.py
=======================================
--- /trunk/src/robot/output/logger.py Thu Apr 23 08:49:35 2009
+++ /trunk/src/robot/output/logger.py Tue Jul 28 04:17:39 2009
@@ -44,10 +44,9 @@
self._message_cache = None
def disable_automatic_console_logger(self):
- if self._console_logger_disabled:
- raise TypeError('Automatic console logging has already been
disabled')
- self._loggers.pop(0)
- self._console_logger_disabled = True
+ if not self._console_logger_disabled:
+ self._loggers.pop(0)
+ self._console_logger_disabled = True
def register_logger(self, *loggers):
for log in loggers:
=======================================
--- /trunk/utest/output/test_logger.py Mon Mar 30 14:05:02 2009
+++ /trunk/utest/output/test_logger.py Tue Jul 28 04:17:39 2009
@@ -143,17 +143,16 @@
assert_equals(len(logger._loggers), 1)
assert_true(logger._loggers[0].message.im_class is LoggerMock)
- def test_automatic_logger_can_be_disabled_only_once(self):
+ def test_disabling_automatic_logger_multiple_times_has_no_effect(self):
logger = _Logger()
logger.disable_automatic_console_logger()
- assert_raises(TypeError, logger.disable_automatic_console_logger)
-
- def test_automatic_logger_can_be_disabled_only_once_2(self):
- logger = _Logger()
- logger.register_logger(LoggerMock())
+ assert_equals(len(logger._loggers), 0)
logger.disable_automatic_console_logger()
+ logger.disable_automatic_console_logger()
+ assert_equals(len(logger._loggers), 0)
logger.register_logger(LoggerMock())
- assert_raises(TypeError, logger.disable_automatic_console_logger)
+ logger.disable_automatic_console_logger()
+ assert_equals(len(logger._loggers), 1)
def
test_reigstering_console_logger_disables_automatic_console_logger(self):
logger = _Logger()