Bug 1059453 - Treat either str or unicode as a file in mozlog's commandline.py. r=jgraham

This commit is contained in:
Chris Manchester 2014-08-28 09:42:02 -04:00
parent 9574551f0a
commit 551431c128
2 changed files with 14 additions and 3 deletions

View File

@ -158,7 +158,7 @@ def setup_logging(suite, args, defaults=None):
formatters[formatter] = []
for value in values:
found = True
if isinstance(value, str):
if isinstance(value, basestring):
value = log_file(value)
if value == sys.stdout:
found_stdout_logger = True

View File

@ -1,10 +1,12 @@
# -*- coding: utf-8 -*-
import argparse
import json
import optparse
import os
import unittest
import StringIO
import json
import sys
import unittest
import mozfile
from mozlog.structured import (
@ -501,6 +503,15 @@ class TestCommandline(unittest.TestCase):
self.assertEqual(len(logger.handlers), 1)
self.assertIsInstance(logger.handlers[0], handlers.StreamHandler)
def test_setup_logging_optparse_unicode(self):
parser = optparse.OptionParser()
commandline.add_logging_group(parser)
args, _ = parser.parse_args([u"--log-raw=-"])
logger = commandline.setup_logging("test_optparse_unicode", args, {})
self.assertEqual(len(logger.handlers), 1)
self.assertEqual(logger.handlers[0].stream, sys.stdout)
self.assertIsInstance(logger.handlers[0], handlers.StreamHandler)
def test_logging_defaultlevel(self):
parser = argparse.ArgumentParser()
commandline.add_logging_group(parser)