changeset 548:59db0f962e00

test refactoring: clear global babel logger handlers to decrease test interdependencies (follow-up on #227)
author fschwarz
date Sat, 19 Mar 2011 21:13:34 +0000
parents bf8b876cb8c7
children 423bb50cb8af
files babel/messages/tests/frontend.py
diffstat 1 files changed, 11 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/babel/messages/tests/frontend.py
+++ b/babel/messages/tests/frontend.py
@@ -513,13 +513,7 @@
         sys.stderr = StringIO()
         os.chdir(self.datadir)
         
-        # Logging handlers will be reused if possible (#227). This breaks the 
-        # implicit assumption that our newly created StringIO for sys.stderr 
-        # contains the console output. Removing the old handler ensures that a
-        # new handler with our new StringIO instance will be used.
-        log = logging.getLogger('babel')
-        for handler in log.handlers:
-            log.removeHandler(handler)
+        self._remove_log_handlers()
         self.cli = frontend.CommandLineInterface()
 
     def tearDown(self):
@@ -531,6 +525,16 @@
             locale_dir = os.path.join(self.datadir, 'project', 'i18n', dirname)
             if os.path.isdir(locale_dir):
                 shutil.rmtree(locale_dir)
+        self._remove_log_handlers()
+
+    def _remove_log_handlers(self):
+        # Logging handlers will be reused if possible (#227). This breaks the 
+        # implicit assumption that our newly created StringIO for sys.stderr 
+        # contains the console output. Removing the old handler ensures that a
+        # new handler with our new StringIO instance will be used.
+        log = logging.getLogger('babel')
+        for handler in log.handlers:
+            log.removeHandler(handler)
 
     def test_usage(self):
         try:
Copyright (C) 2012-2017 Edgewall Software