def test_logger_defaults(self): """Tests the default logging format and behavior.""" default_logger = mozlog.getLogger('default.logger') self.assertEqual(default_logger.name, 'default.logger') self.assertEqual(len(default_logger.handlers), 1) self.assertTrue(isinstance(default_logger.handlers[0], mozlog.StreamHandler)) f = mozfile.NamedTemporaryFile() list_logger = mozlog.getLogger('file.logger', handler=mozlog.FileHandler(f.name)) self.assertEqual(len(list_logger.handlers), 1) self.assertTrue(isinstance(list_logger.handlers[0], mozlog.FileHandler)) f.close() self.assertRaises(ValueError, mozlog.getLogger, 'file.logger', handler=ListHandler())
# You can obtain one at http://mozilla.org/MPL/2.0/. import os import unittest import subprocess import tempfile import shutil import urlparse import zipfile import StringIO import mozcrash import mozhttpd import mozlog.unstructured as mozlog # Make logs go away log = mozlog.getLogger("mozcrash", handler=mozlog.FileHandler(os.devnull)) def popen_factory(stdouts): """ Generate a class that can mock subprocess.Popen. |stdouts| is an iterable that should return an iterable for the stdout of each process in turn. """ class mock_popen(object): def __init__(self, args, *args_rest, **kwargs): self.stdout = stdouts.next() self.returncode = 0 def wait(self): return 0