mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
test_logging coverage improvements.
This commit is contained in:
parent
45456a09f0
commit
26fe4b70cf
2 changed files with 136 additions and 33 deletions
|
@ -37,13 +37,13 @@ __all__ = ['BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG', 'ERROR',
|
|||
|
||||
try:
|
||||
import codecs
|
||||
except ImportError:
|
||||
except ImportError: #pragma: no cover
|
||||
codecs = None
|
||||
|
||||
try:
|
||||
import _thread as thread
|
||||
import threading
|
||||
except ImportError:
|
||||
except ImportError: #pragma: no cover
|
||||
thread = None
|
||||
|
||||
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
|
||||
|
@ -67,16 +67,16 @@ else:
|
|||
_srcfile = __file__
|
||||
_srcfile = os.path.normcase(_srcfile)
|
||||
|
||||
# next bit filched from 1.5.2's inspect.py
|
||||
def currentframe():
|
||||
"""Return the frame object for the caller's stack frame."""
|
||||
try:
|
||||
raise Exception
|
||||
except:
|
||||
return sys.exc_info()[2].tb_frame.f_back
|
||||
|
||||
if hasattr(sys, '_getframe'): currentframe = lambda: sys._getframe(3)
|
||||
# done filching
|
||||
if hasattr(sys, '_getframe'):
|
||||
currentframe = lambda: sys._getframe(3)
|
||||
else: #pragma: no cover
|
||||
def currentframe():
|
||||
"""Return the frame object for the caller's stack frame."""
|
||||
try:
|
||||
raise Exception
|
||||
except:
|
||||
return sys.exc_info()[2].tb_frame.f_back
|
||||
|
||||
# _srcfile is only used in conjunction with sys._getframe().
|
||||
# To provide compatibility with older versions of Python, set _srcfile
|
||||
|
@ -94,22 +94,22 @@ _startTime = time.time()
|
|||
#raiseExceptions is used to see if exceptions during handling should be
|
||||
#propagated
|
||||
#
|
||||
raiseExceptions = 1
|
||||
raiseExceptions = True
|
||||
|
||||
#
|
||||
# If you don't want threading information in the log, set this to zero
|
||||
#
|
||||
logThreads = 1
|
||||
logThreads = True
|
||||
|
||||
#
|
||||
# If you don't want multiprocessing information in the log, set this to zero
|
||||
#
|
||||
logMultiprocessing = 1
|
||||
logMultiprocessing = True
|
||||
|
||||
#
|
||||
# If you don't want process information in the log, set this to zero
|
||||
#
|
||||
logProcesses = 1
|
||||
logProcesses = True
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Level related stuff
|
||||
|
@ -201,7 +201,7 @@ def _checkLevel(level):
|
|||
#
|
||||
if thread:
|
||||
_lock = threading.RLock()
|
||||
else:
|
||||
else: #pragma: no cover
|
||||
_lock = None
|
||||
|
||||
|
||||
|
@ -281,10 +281,10 @@ class LogRecord(object):
|
|||
if logThreads and thread:
|
||||
self.thread = thread.get_ident()
|
||||
self.threadName = threading.current_thread().name
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
self.thread = None
|
||||
self.threadName = None
|
||||
if not logMultiprocessing:
|
||||
if not logMultiprocessing: # pragma: no cover
|
||||
self.processName = None
|
||||
else:
|
||||
self.processName = 'MainProcess'
|
||||
|
@ -644,11 +644,11 @@ class Filter(object):
|
|||
yes. If deemed appropriate, the record may be modified in-place.
|
||||
"""
|
||||
if self.nlen == 0:
|
||||
return 1
|
||||
return True
|
||||
elif self.name == record.name:
|
||||
return 1
|
||||
return True
|
||||
elif record.name.find(self.name, 0, self.nlen) != 0:
|
||||
return 0
|
||||
return False
|
||||
return (record.name[self.nlen] == ".")
|
||||
|
||||
class Filterer(object):
|
||||
|
@ -775,7 +775,7 @@ class Handler(Filterer):
|
|||
"""
|
||||
if thread:
|
||||
self.lock = threading.RLock()
|
||||
else:
|
||||
else: #pragma: no cover
|
||||
self.lock = None
|
||||
|
||||
def acquire(self):
|
||||
|
@ -939,7 +939,7 @@ class StreamHandler(Handler):
|
|||
stream.write(msg)
|
||||
stream.write(self.terminator)
|
||||
self.flush()
|
||||
except (KeyboardInterrupt, SystemExit):
|
||||
except (KeyboardInterrupt, SystemExit): #pragma: no cover
|
||||
raise
|
||||
except:
|
||||
self.handleError(record)
|
||||
|
@ -948,13 +948,13 @@ class FileHandler(StreamHandler):
|
|||
"""
|
||||
A handler class which writes formatted logging records to disk files.
|
||||
"""
|
||||
def __init__(self, filename, mode='a', encoding=None, delay=0):
|
||||
def __init__(self, filename, mode='a', encoding=None, delay=False):
|
||||
"""
|
||||
Open the specified file and use it as the stream for logging.
|
||||
"""
|
||||
#keep the absolute path, otherwise derived classes which use this
|
||||
#may come a cropper when the current directory changes
|
||||
if codecs is None:
|
||||
if codecs is None: #pragma: no cover
|
||||
encoding = None
|
||||
self.baseFilename = os.path.abspath(filename)
|
||||
self.mode = mode
|
||||
|
@ -1352,9 +1352,9 @@ class Logger(Filterer):
|
|||
#IronPython can use logging.
|
||||
try:
|
||||
fn, lno, func, sinfo = self.findCaller(stack_info)
|
||||
except ValueError:
|
||||
except ValueError: # pragma: no cover
|
||||
fn, lno, func = "(unknown file)", 0, "(unknown function)"
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
fn, lno, func = "(unknown file)", 0, "(unknown function)"
|
||||
if exc_info:
|
||||
if not isinstance(exc_info, tuple):
|
||||
|
@ -1465,7 +1465,7 @@ class Logger(Filterer):
|
|||
Is this logger enabled for level 'level'?
|
||||
"""
|
||||
if self.manager.disable >= level:
|
||||
return 0
|
||||
return False
|
||||
return level >= self.getEffectiveLevel()
|
||||
|
||||
def getChild(self, suffix):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue