annotate Lib/test/test_logging.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents 1a4e4b6bc196
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1 #!/usr/bin/env python
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
2 #
82882
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
3 # Copyright 2001-2013 by Vinay Sajip. All Rights Reserved.
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4 #
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
5 # Permission to use, copy, modify, and distribute this software and its
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
6 # documentation for any purpose and without fee is hereby granted,
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
7 # provided that the above copyright notice appear in all copies and that
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
8 # both that copyright notice and this permission notice appear in
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
9 # supporting documentation, and that the name of Vinay Sajip
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
10 # not be used in advertising or publicity pertaining to distribution
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
11 # of the software without specific, written prior permission.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
12 # VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
13 # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
14 # VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
15 # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
16 # IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
17 # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
18
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
19 """Test harness for the logging module. Run all tests.
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
20
82882
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
21 Copyright (C) 2001-2013 Vinay Sajip. All Rights Reserved.
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
22 """
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
23
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
24 import logging
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
25 import logging.handlers
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
26 import logging.config
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
27
51579
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
28 import codecs
79615
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
29 import configparser
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
30 import datetime
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
31 import pickle
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
32 import io
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
33 import gc
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
34 import json
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
35 import os
64730
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
36 import queue
76544
5de7c3d64f2a Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73419
diff changeset
37 import random
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
38 import re
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
39 import select
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
40 import socket
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
41 import struct
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
42 import sys
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
43 import tempfile
75534
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
44 from test.support import (captured_stdout, run_with_locale, run_unittest,
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
45 patch, requires_zlib, TestHandler, Matcher)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
46 import textwrap
76544
5de7c3d64f2a Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73419
diff changeset
47 import time
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
48 import unittest
50074
024a9897c651 Merged revisions 67511,67536-67537,67543 via svnmerge from
Georg Brandl <georg@python.org>
parents: 49137
diff changeset
49 import warnings
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
50 import weakref
61073
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
51 try:
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
52 import threading
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
53 # The following imports are needed only for tests which
73433
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
54 # require threading
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
55 import asynchat
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
56 import asyncore
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
57 import errno
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
58 from http.server import HTTPServer, BaseHTTPRequestHandler
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
59 import smtpd
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
60 from urllib.parse import urlparse, parse_qs
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
61 from socketserver import (ThreadingUDPServer, DatagramRequestHandler,
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
62 ThreadingTCPServer, StreamRequestHandler,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
63 ThreadingUnixStreamServer,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
64 ThreadingUnixDatagramServer)
61073
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
65 except ImportError:
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
66 threading = None
69986
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
67 try:
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
68 import win32evtlog
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
69 except ImportError:
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
70 win32evtlog = None
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
71 try:
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
72 import win32evtlogutil
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
73 except ImportError:
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
74 win32evtlogutil = None
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
75 win32evtlog = None
75534
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
76 try:
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
77 import zlib
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
78 except ImportError:
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
79 pass
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
80
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
81 class BaseTest(unittest.TestCase):
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
82
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
83 """Base class for logging tests."""
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
84
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
85 log_format = "%(name)s -> %(levelname)s: %(message)s"
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
86 expected_log_pat = r"^([\w.]+) -> (\w+): (\d+)$"
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
87 message_num = 0
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
88
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
89 def setUp(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
90 """Setup the default logging stream to an internal StringIO instance,
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
91 so that we can examine log output as we want."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
92 logger_dict = logging.getLogger().manager.loggerDict
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
93 logging._acquireLock()
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
94 try:
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
95 self.saved_handlers = logging._handlers.copy()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
96 self.saved_handler_list = logging._handlerList[:]
67157
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
97 self.saved_loggers = saved_loggers = logger_dict.copy()
83914
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
98 self.saved_name_to_level = logging._nameToLevel.copy()
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
99 self.saved_level_to_name = logging._levelToName.copy()
67157
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
100 self.logger_states = logger_states = {}
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
101 for name in saved_loggers:
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
102 logger_states[name] = getattr(saved_loggers[name],
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
103 'disabled', None)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
104 finally:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
105 logging._releaseLock()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
106
73433
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
107 # Set two unused loggers
64847
ec028067049d logging: Add hasHandlers() method to Logger.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64804
diff changeset
108 self.logger1 = logging.getLogger("\xab\xd7\xbb")
ec028067049d logging: Add hasHandlers() method to Logger.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64804
diff changeset
109 self.logger2 = logging.getLogger("\u013f\u00d6\u0047")
60506
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
110
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
111 self.root_logger = logging.getLogger("")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
112 self.original_logging_level = self.root_logger.getEffectiveLevel()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
113
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
114 self.stream = io.StringIO()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
115 self.root_logger.setLevel(logging.DEBUG)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
116 self.root_hdlr = logging.StreamHandler(self.stream)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
117 self.root_formatter = logging.Formatter(self.log_format)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
118 self.root_hdlr.setFormatter(self.root_formatter)
67231
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
119 if self.logger1.hasHandlers():
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
120 hlist = self.logger1.handlers + self.root_logger.handlers
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
121 raise AssertionError('Unexpected handlers: %s' % hlist)
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
122 if self.logger2.hasHandlers():
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
123 hlist = self.logger2.handlers + self.root_logger.handlers
0dfb8397a973 Issue #10788: Changed test_logging setUp logic to provide more information.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67157
diff changeset
124 raise AssertionError('Unexpected handlers: %s' % hlist)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
125 self.root_logger.addHandler(self.root_hdlr)
64847
ec028067049d logging: Add hasHandlers() method to Logger.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64804
diff changeset
126 self.assertTrue(self.logger1.hasHandlers())
ec028067049d logging: Add hasHandlers() method to Logger.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64804
diff changeset
127 self.assertTrue(self.logger2.hasHandlers())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
128
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
129 def tearDown(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
130 """Remove our logging stream, and restore the original logging
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
131 level."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
132 self.stream.close()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
133 self.root_logger.removeHandler(self.root_hdlr)
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
134 while self.root_logger.handlers:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
135 h = self.root_logger.handlers[0]
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
136 self.root_logger.removeHandler(h)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
137 h.close()
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
138 self.root_logger.setLevel(self.original_logging_level)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
139 logging._acquireLock()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
140 try:
83914
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
141 logging._levelToName.clear()
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
142 logging._levelToName.update(self.saved_level_to_name)
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
143 logging._nameToLevel.clear()
5629bf4c6bba Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83832
diff changeset
144 logging._nameToLevel.update(self.saved_name_to_level)
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
145 logging._handlers.clear()
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
146 logging._handlers.update(self.saved_handlers)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
147 logging._handlerList[:] = self.saved_handler_list
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
148 loggerDict = logging.getLogger().manager.loggerDict
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
149 loggerDict.clear()
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
150 loggerDict.update(self.saved_loggers)
67157
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
151 logger_states = self.logger_states
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
152 for name in self.logger_states:
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
153 if logger_states[name] is not None:
efdc5d0d81b7 Issue #10626: test_logging now preserves logger disabled states.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67156
diff changeset
154 self.saved_loggers[name].disabled = logger_states[name]
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
155 finally:
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
156 logging._releaseLock()
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
157
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
158 def assert_log_lines(self, expected_values, stream=None, pat=None):
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
159 """Match the collected log lines against the regular expression
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
160 self.expected_log_pat, and compare the extracted group values to
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
161 the expected_values list of tuples."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
162 stream = stream or self.stream
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
163 pat = re.compile(pat or self.expected_log_pat)
85441
6c0f5af2f5a5 Issue #18743: Fix references to non-existant "StringIO" module
Serhiy Storchaka <storchaka@gmail.com>
parents: 83002
diff changeset
164 actual_lines = stream.getvalue().splitlines()
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
165 self.assertEqual(len(actual_lines), len(expected_values))
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
166 for actual, expected in zip(actual_lines, expected_values):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
167 match = pat.search(actual)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
168 if not match:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
169 self.fail("Log line does not match expected pattern:\n" +
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
170 actual)
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 58218
diff changeset
171 self.assertEqual(tuple(match.groups()), expected)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
172 s = stream.read()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
173 if s:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
174 self.fail("Remaining output at end of log stream:\n" + s)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
175
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
176 def next_message(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
177 """Generate a message consisting solely of an auto-incrementing
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
178 integer."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
179 self.message_num += 1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
180 return "%d" % self.message_num
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
181
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
182
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
183 class BuiltinLevelsTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
184 """Test builtin levels and their inheritance."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
185
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
186 def test_flat(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
187 #Logging levels in a flat logger namespace.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
188 m = self.next_message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
189
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
190 ERR = logging.getLogger("ERR")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
191 ERR.setLevel(logging.ERROR)
64866
e90427984442 Added some methods to LoggerAdapter, and updated documentation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64847
diff changeset
192 INF = logging.LoggerAdapter(logging.getLogger("INF"), {})
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
193 INF.setLevel(logging.INFO)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
194 DEB = logging.getLogger("DEB")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
195 DEB.setLevel(logging.DEBUG)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
196
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
197 # These should log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
198 ERR.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
199 ERR.error(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
200
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
201 INF.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
202 INF.error(m())
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
203 INF.warning(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
204 INF.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
205
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
206 DEB.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
207 DEB.error(m())
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
208 DEB.warning(m())
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
209 DEB.info(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
210 DEB.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
211
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
212 # These should not log.
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
213 ERR.warning(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
214 ERR.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
215 ERR.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
216
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
217 INF.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
218
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
219 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
220 ('ERR', 'CRITICAL', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
221 ('ERR', 'ERROR', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
222 ('INF', 'CRITICAL', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
223 ('INF', 'ERROR', '4'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
224 ('INF', 'WARNING', '5'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
225 ('INF', 'INFO', '6'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
226 ('DEB', 'CRITICAL', '7'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
227 ('DEB', 'ERROR', '8'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
228 ('DEB', 'WARNING', '9'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
229 ('DEB', 'INFO', '10'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
230 ('DEB', 'DEBUG', '11'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
231 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
232
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
233 def test_nested_explicit(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
234 # Logging levels in a nested namespace, all explicitly set.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
235 m = self.next_message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
236
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
237 INF = logging.getLogger("INF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
238 INF.setLevel(logging.INFO)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
239 INF_ERR = logging.getLogger("INF.ERR")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
240 INF_ERR.setLevel(logging.ERROR)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
241
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
242 # These should log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
243 INF_ERR.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
244 INF_ERR.error(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
245
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
246 # These should not log.
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
247 INF_ERR.warning(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
248 INF_ERR.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
249 INF_ERR.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
250
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
251 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
252 ('INF.ERR', 'CRITICAL', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
253 ('INF.ERR', 'ERROR', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
254 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
255
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
256 def test_nested_inherited(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
257 #Logging levels in a nested namespace, inherited from parent loggers.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
258 m = self.next_message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
259
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
260 INF = logging.getLogger("INF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
261 INF.setLevel(logging.INFO)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
262 INF_ERR = logging.getLogger("INF.ERR")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
263 INF_ERR.setLevel(logging.ERROR)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
264 INF_UNDEF = logging.getLogger("INF.UNDEF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
265 INF_ERR_UNDEF = logging.getLogger("INF.ERR.UNDEF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
266 UNDEF = logging.getLogger("UNDEF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
267
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
268 # These should log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
269 INF_UNDEF.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
270 INF_UNDEF.error(m())
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
271 INF_UNDEF.warning(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
272 INF_UNDEF.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
273 INF_ERR_UNDEF.log(logging.CRITICAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
274 INF_ERR_UNDEF.error(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
275
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
276 # These should not log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
277 INF_UNDEF.debug(m())
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
278 INF_ERR_UNDEF.warning(m())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
279 INF_ERR_UNDEF.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
280 INF_ERR_UNDEF.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
281
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
282 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
283 ('INF.UNDEF', 'CRITICAL', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
284 ('INF.UNDEF', 'ERROR', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
285 ('INF.UNDEF', 'WARNING', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
286 ('INF.UNDEF', 'INFO', '4'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
287 ('INF.ERR.UNDEF', 'CRITICAL', '5'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
288 ('INF.ERR.UNDEF', 'ERROR', '6'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
289 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
290
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
291 def test_nested_with_virtual_parent(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
292 # Logging levels when some parent does not exist yet.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
293 m = self.next_message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
294
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
295 INF = logging.getLogger("INF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
296 GRANDCHILD = logging.getLogger("INF.BADPARENT.UNDEF")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
297 CHILD = logging.getLogger("INF.BADPARENT")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
298 INF.setLevel(logging.INFO)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
299
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
300 # These should log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
301 GRANDCHILD.log(logging.FATAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
302 GRANDCHILD.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
303 CHILD.log(logging.FATAL, m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
304 CHILD.info(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
305
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
306 # These should not log.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
307 GRANDCHILD.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
308 CHILD.debug(m())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
309
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
310 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
311 ('INF.BADPARENT.UNDEF', 'CRITICAL', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
312 ('INF.BADPARENT.UNDEF', 'INFO', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
313 ('INF.BADPARENT', 'CRITICAL', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
314 ('INF.BADPARENT', 'INFO', '4'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
315 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
316
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
317
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
318 class BasicFilterTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
319
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
320 """Test the bundled Filter class."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
321
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
322 def test_filter(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
323 # Only messages satisfying the specified criteria pass through the
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
324 # filter.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
325 filter_ = logging.Filter("spam.eggs")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
326 handler = self.root_logger.handlers[0]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
327 try:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
328 handler.addFilter(filter_)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
329 spam = logging.getLogger("spam")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
330 spam_eggs = logging.getLogger("spam.eggs")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
331 spam_eggs_fish = logging.getLogger("spam.eggs.fish")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
332 spam_bakedbeans = logging.getLogger("spam.bakedbeans")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
333
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
334 spam.info(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
335 spam_eggs.info(self.next_message()) # Good.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
336 spam_eggs_fish.info(self.next_message()) # Good.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
337 spam_bakedbeans.info(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
338
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
339 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
340 ('spam.eggs', 'INFO', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
341 ('spam.eggs.fish', 'INFO', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
342 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
343 finally:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
344 handler.removeFilter(filter_)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
345
65547
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
346 def test_callable_filter(self):
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
347 # Only messages satisfying the specified criteria pass through the
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
348 # filter.
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
349
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
350 def filterfunc(record):
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
351 parts = record.name.split('.')
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
352 prefix = '.'.join(parts[:2])
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
353 return prefix == 'spam.eggs'
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
354
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
355 handler = self.root_logger.handlers[0]
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
356 try:
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
357 handler.addFilter(filterfunc)
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
358 spam = logging.getLogger("spam")
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
359 spam_eggs = logging.getLogger("spam.eggs")
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
360 spam_eggs_fish = logging.getLogger("spam.eggs.fish")
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
361 spam_bakedbeans = logging.getLogger("spam.bakedbeans")
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
362
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
363 spam.info(self.next_message())
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
364 spam_eggs.info(self.next_message()) # Good.
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
365 spam_eggs_fish.info(self.next_message()) # Good.
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
366 spam_bakedbeans.info(self.next_message())
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
367
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
368 self.assert_log_lines([
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
369 ('spam.eggs', 'INFO', '2'),
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
370 ('spam.eggs.fish', 'INFO', '3'),
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
371 ])
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
372 finally:
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
373 handler.removeFilter(filterfunc)
e11ac30199b1 logging: Allowed filters to be just callables.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65546
diff changeset
374
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
375 def test_empty_filter(self):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
376 f = logging.Filter()
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
377 r = logging.makeLogRecord({'name': 'spam.eggs'})
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
378 self.assertTrue(f.filter(r))
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
379
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
380 #
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
381 # First, we define our levels. There can be as many as you want - the only
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
382 # limitations are that they should be integers, the lowest should be > 0 and
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
383 # larger values mean less information being logged. If you need specific
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
384 # level values which do not fit into these limitations, you can use a
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
385 # mapping dictionary to convert between your application levels and the
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
386 # logging system.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
387 #
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
388 SILENT = 120
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
389 TACITURN = 119
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
390 TERSE = 118
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
391 EFFUSIVE = 117
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
392 SOCIABLE = 116
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
393 VERBOSE = 115
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
394 TALKATIVE = 114
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
395 GARRULOUS = 113
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
396 CHATTERBOX = 112
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
397 BORING = 111
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
398
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
399 LEVEL_RANGE = range(BORING, SILENT + 1)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
400
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
401 #
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
402 # Next, we define names for our levels. You don't need to do this - in which
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
403 # case the system will use "Level n" to denote the text for the level.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
404 #
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
405 my_logging_levels = {
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
406 SILENT : 'Silent',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
407 TACITURN : 'Taciturn',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
408 TERSE : 'Terse',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
409 EFFUSIVE : 'Effusive',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
410 SOCIABLE : 'Sociable',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
411 VERBOSE : 'Verbose',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
412 TALKATIVE : 'Talkative',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
413 GARRULOUS : 'Garrulous',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
414 CHATTERBOX : 'Chatterbox',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
415 BORING : 'Boring',
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
416 }
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
417
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
418 class GarrulousFilter(logging.Filter):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
419
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
420 """A filter which blocks garrulous messages."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
421
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
422 def filter(self, record):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
423 return record.levelno != GARRULOUS
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
424
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
425 class VerySpecificFilter(logging.Filter):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
426
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
427 """A filter which blocks sociable and taciturn messages."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
428
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
429 def filter(self, record):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
430 return record.levelno not in [SOCIABLE, TACITURN]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
431
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
432
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
433 class CustomLevelsAndFiltersTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
434
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
435 """Test various filtering possibilities with custom logging levels."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
436
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
437 # Skip the logger name group.
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
438 expected_log_pat = r"^[\w.]+ -> (\w+): (\d+)$"
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
439
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
440 def setUp(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
441 BaseTest.setUp(self)
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
442 for k, v in my_logging_levels.items():
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
443 logging.addLevelName(k, v)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
444
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
445 def log_at_all_levels(self, logger):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
446 for lvl in LEVEL_RANGE:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
447 logger.log(lvl, self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
448
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
449 def test_logger_filter(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
450 # Filter at logger level.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
451 self.root_logger.setLevel(VERBOSE)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
452 # Levels >= 'Verbose' are good.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
453 self.log_at_all_levels(self.root_logger)
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
454 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
455 ('Verbose', '5'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
456 ('Sociable', '6'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
457 ('Effusive', '7'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
458 ('Terse', '8'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
459 ('Taciturn', '9'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
460 ('Silent', '10'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
461 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
462
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
463 def test_handler_filter(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
464 # Filter at handler level.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
465 self.root_logger.handlers[0].setLevel(SOCIABLE)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
466 try:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
467 # Levels >= 'Sociable' are good.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
468 self.log_at_all_levels(self.root_logger)
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
469 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
470 ('Sociable', '6'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
471 ('Effusive', '7'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
472 ('Terse', '8'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
473 ('Taciturn', '9'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
474 ('Silent', '10'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
475 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
476 finally:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
477 self.root_logger.handlers[0].setLevel(logging.NOTSET)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
478
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
479 def test_specific_filters(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
480 # Set a specific filter object on the handler, and then add another
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
481 # filter object on the logger itself.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
482 handler = self.root_logger.handlers[0]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
483 specific_filter = None
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
484 garr = GarrulousFilter()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
485 handler.addFilter(garr)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
486 try:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
487 self.log_at_all_levels(self.root_logger)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
488 first_lines = [
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
489 # Notice how 'Garrulous' is missing
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
490 ('Boring', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
491 ('Chatterbox', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
492 ('Talkative', '4'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
493 ('Verbose', '5'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
494 ('Sociable', '6'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
495 ('Effusive', '7'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
496 ('Terse', '8'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
497 ('Taciturn', '9'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
498 ('Silent', '10'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
499 ]
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
500 self.assert_log_lines(first_lines)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
501
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
502 specific_filter = VerySpecificFilter()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
503 self.root_logger.addFilter(specific_filter)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
504 self.log_at_all_levels(self.root_logger)
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
505 self.assert_log_lines(first_lines + [
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
506 # Not only 'Garrulous' is still missing, but also 'Sociable'
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
507 # and 'Taciturn'
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
508 ('Boring', '11'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
509 ('Chatterbox', '12'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
510 ('Talkative', '14'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
511 ('Verbose', '15'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
512 ('Effusive', '17'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
513 ('Terse', '18'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
514 ('Silent', '20'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
515 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
516 finally:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
517 if specific_filter:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
518 self.root_logger.removeFilter(specific_filter)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
519 handler.removeFilter(garr)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
520
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
521
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
522 class HandlerTest(BaseTest):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
523 def test_name(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
524 h = logging.Handler()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
525 h.name = 'generic'
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
526 self.assertEqual(h.name, 'generic')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
527 h.name = 'anothergeneric'
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
528 self.assertEqual(h.name, 'anothergeneric')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
529 self.assertRaises(NotImplementedError, h.emit, None)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
530
69593
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
531 def test_builtin_handlers(self):
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
532 # We can't actually *use* too many handlers in the tests,
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
533 # but we can try instantiating them with various options
72011
b5ccdf7c032a Issue #12326: refactor usage of sys.platform
Victor Stinner <victor.stinner@haypocalc.com>
parents: 71897
diff changeset
534 if sys.platform in ('linux', 'darwin'):
69593
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
535 for existing in (True, False):
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
536 fd, fn = tempfile.mkstemp()
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
537 os.close(fd)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
538 if not existing:
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
539 os.unlink(fn)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
540 h = logging.handlers.WatchedFileHandler(fn, delay=True)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
541 if existing:
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
542 dev, ino = h.dev, h.ino
76545
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
543 self.assertEqual(dev, -1)
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
544 self.assertEqual(ino, -1)
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
545 r = logging.makeLogRecord({'msg': 'Test'})
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
546 h.handle(r)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
547 # Now remove the file.
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
548 os.unlink(fn)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
549 self.assertFalse(os.path.exists(fn))
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
550 # The next call should recreate the file.
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
551 h.handle(r)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
552 self.assertTrue(os.path.exists(fn))
69593
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
553 else:
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
554 self.assertEqual(h.dev, -1)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
555 self.assertEqual(h.ino, -1)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
556 h.close()
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
557 if existing:
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
558 os.unlink(fn)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
559 if sys.platform == 'darwin':
69595
4e7151c972a2 Use correct Unix socket for syslogd on OS X.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69594
diff changeset
560 sockname = '/var/run/syslog'
69593
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
561 else:
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
562 sockname = '/dev/log'
69594
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
563 try:
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
564 h = logging.handlers.SysLogHandler(sockname)
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
565 self.assertEqual(h.facility, h.LOG_USER)
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
566 self.assertTrue(h.unixsocket)
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
567 h.close()
80933
50d19c2fac82 Issue #16717: get rid of socket.error, replace with OSError
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80920
diff changeset
568 except OSError: # syslogd might not be available
69594
ec0120219925 test_logging: handle syslogd connection failure.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69593
diff changeset
569 pass
69593
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
570 for method in ('GET', 'POST', 'PUT'):
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
571 if method == 'PUT':
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
572 self.assertRaises(ValueError, logging.handlers.HTTPHandler,
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
573 'localhost', '/log', method)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
574 else:
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
575 h = logging.handlers.HTTPHandler('localhost', '/log', method)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
576 h.close()
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
577 h = logging.handlers.BufferingHandler(0)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
578 r = logging.makeLogRecord({})
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
579 self.assertTrue(h.shouldFlush(r))
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
580 h.close()
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
581 h = logging.handlers.BufferingHandler(1)
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
582 self.assertFalse(h.shouldFlush(r))
fbac8f321937 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69592
diff changeset
583 h.close()
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
584
77237
4dd878993b88 Reapplied skip logic for test on Windows, which appears to have been lost during a merge.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77166
diff changeset
585 @unittest.skipIf(os.name == 'nt', 'WatchedFileHandler not appropriate for Windows.')
76545
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
586 @unittest.skipUnless(threading, 'Threading required for this test.')
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
587 def test_race(self):
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
588 # Issue #14632 refers.
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
589 def remove_loop(fname, tries):
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
590 for _ in range(tries):
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
591 try:
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
592 os.unlink(fname)
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
593 except OSError:
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
594 pass
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
595 time.sleep(0.004 * random.randint(0, 4))
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
596
76552
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
597 del_count = 500
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
598 log_count = 500
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
599
76545
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
600 for delay in (False, True):
76552
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
601 fd, fn = tempfile.mkstemp('.log', 'test_logging-3-')
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
602 os.close(fd)
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
603 remover = threading.Thread(target=remove_loop, args=(fn, del_count))
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
604 remover.daemon = True
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
605 remover.start()
76545
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
606 h = logging.handlers.WatchedFileHandler(fn, delay=delay)
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
607 f = logging.Formatter('%(asctime)s: %(levelname)s: %(message)s')
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
608 h.setFormatter(f)
76552
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
609 try:
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
610 for _ in range(log_count):
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
611 time.sleep(0.005)
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
612 r = logging.makeLogRecord({'msg': 'testing' })
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
613 h.handle(r)
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
614 finally:
76729
ae086d16374e Merged hanged order of cleanup operations from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76552 76728
diff changeset
615 remover.join()
76552
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
616 h.close()
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
617 if os.path.exists(fn):
8965693ecb14 Merged fixed test from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76545 76551
diff changeset
618 os.unlink(fn)
76545
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
619
380821b47872 Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76475 76544
diff changeset
620
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
621 class BadStream(object):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
622 def write(self, data):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
623 raise RuntimeError('deliberate mistake')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
624
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
625 class TestStreamHandler(logging.StreamHandler):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
626 def handleError(self, record):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
627 self.error_record = record
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
628
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
629 class StreamHandlerTest(BaseTest):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
630 def test_error_handling(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
631 h = TestStreamHandler(BadStream())
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
632 r = logging.makeLogRecord({})
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
633 old_raise = logging.raiseExceptions
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
634 old_stderr = sys.stderr
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
635 try:
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
636 h.handle(r)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
637 self.assertIs(h.error_record, r)
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
638 h = logging.StreamHandler(BadStream())
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
639 sys.stderr = sio = io.StringIO()
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
640 h.handle(r)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
641 self.assertIn('\nRuntimeError: deliberate mistake\n',
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
642 sio.getvalue())
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
643 logging.raiseExceptions = False
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
644 sys.stderr = sio = io.StringIO()
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
645 h.handle(r)
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
646 self.assertEqual('', sio.getvalue())
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
647 finally:
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
648 logging.raiseExceptions = old_raise
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
649 sys.stderr = old_stderr
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
650
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
651 # -- The following section could be moved into a server_helper.py module
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
652 # -- if it proves to be of wider utility than just test_logging
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
653
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
654 if threading:
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
655 class TestSMTPServer(smtpd.SMTPServer):
69779
f587197864b0 Updated docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69775
diff changeset
656 """
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
657 This class implements a test SMTP server.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
658
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
659 :param addr: A (host, port) tuple which the server listens on.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
660 You can specify a port value of zero: the server's
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
661 *port* attribute will hold the actual port number
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
662 used, which can be used in client connections.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
663 :param handler: A callable which will be called to process
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
664 incoming messages. The handler will be passed
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
665 the client address tuple, who the message is from,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
666 a list of recipients and the message data.
69779
f587197864b0 Updated docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69775
diff changeset
667 :param poll_interval: The interval, in seconds, used in the underlying
f587197864b0 Updated docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69775
diff changeset
668 :func:`select` or :func:`poll` call by
f587197864b0 Updated docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69775
diff changeset
669 :func:`asyncore.loop`.
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
670 :param sockmap: A dictionary which will be used to hold
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
671 :class:`asyncore.dispatcher` instances used by
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
672 :func:`asyncore.loop`. This avoids changing the
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
673 :mod:`asyncore` module's global state.
69779
f587197864b0 Updated docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69775
diff changeset
674 """
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
675
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
676 def __init__(self, addr, handler, poll_interval, sockmap):
84047
ed498f477549 Closes #11959: SMTPServer and SMTPChannel now take an optional map, use of which avoids affecting global state.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83914
diff changeset
677 smtpd.SMTPServer.__init__(self, addr, None, map=sockmap)
ed498f477549 Closes #11959: SMTPServer and SMTPChannel now take an optional map, use of which avoids affecting global state.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83914
diff changeset
678 self.port = self.socket.getsockname()[1]
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
679 self._handler = handler
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
680 self._thread = None
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
681 self.poll_interval = poll_interval
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
682
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
683 def process_message(self, peer, mailfrom, rcpttos, data):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
684 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
685 Delegates to the handler passed in to the server's constructor.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
686
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
687 Typically, this will be a test case method.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
688 :param peer: The client (host, port) tuple.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
689 :param mailfrom: The address of the sender.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
690 :param rcpttos: The addresses of the recipients.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
691 :param data: The message.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
692 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
693 self._handler(peer, mailfrom, rcpttos, data)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
694
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
695 def start(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
696 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
697 Start the server running on a separate daemon thread.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
698 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
699 self._thread = t = threading.Thread(target=self.serve_forever,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
700 args=(self.poll_interval,))
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
701 t.setDaemon(True)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
702 t.start()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
703
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
704 def serve_forever(self, poll_interval):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
705 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
706 Run the :mod:`asyncore` loop until normal termination
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
707 conditions arise.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
708 :param poll_interval: The interval, in seconds, used in the underlying
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
709 :func:`select` or :func:`poll` call by
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
710 :func:`asyncore.loop`.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
711 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
712 try:
84047
ed498f477549 Closes #11959: SMTPServer and SMTPChannel now take an optional map, use of which avoids affecting global state.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83914
diff changeset
713 asyncore.loop(poll_interval, map=self._map)
80920
eb8032781eba Issue #16704: Get rid of select.error in stdlib. Use OSError instead.
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80597
diff changeset
714 except OSError:
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
715 # On FreeBSD 8, closing the server repeatably
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
716 # raises this error. We swallow it if the
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
717 # server has been closed.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
718 if self.connected or self.accepting:
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
719 raise
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
720
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
721 def stop(self, timeout=None):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
722 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
723 Stop the thread by closing the server instance.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
724 Wait for the server thread to terminate.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
725
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
726 :param timeout: How long to wait for the server thread
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
727 to terminate.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
728 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
729 self.close()
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
730 self._thread.join(timeout)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
731 self._thread = None
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
732
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
733 class ControlMixin(object):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
734 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
735 This mixin is used to start a server on a separate thread, and
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
736 shut it down programmatically. Request handling is simplified - instead
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
737 of needing to derive a suitable RequestHandler subclass, you just
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
738 provide a callable which will be passed each received request to be
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
739 processed.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
740
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
741 :param handler: A handler callable which will be called with a
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
742 single parameter - the request - in order to
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
743 process the request. This handler is called on the
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
744 server thread, effectively meaning that requests are
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
745 processed serially. While not quite Web scale ;-),
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
746 this should be fine for testing applications.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
747 :param poll_interval: The polling interval in seconds.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
748 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
749 def __init__(self, handler, poll_interval):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
750 self._thread = None
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
751 self.poll_interval = poll_interval
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
752 self._handler = handler
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
753 self.ready = threading.Event()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
754
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
755 def start(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
756 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
757 Create a daemon thread to run the server, and start it.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
758 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
759 self._thread = t = threading.Thread(target=self.serve_forever,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
760 args=(self.poll_interval,))
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
761 t.setDaemon(True)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
762 t.start()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
763
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
764 def serve_forever(self, poll_interval):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
765 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
766 Run the server. Set the ready flag before entering the
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
767 service loop.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
768 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
769 self.ready.set()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
770 super(ControlMixin, self).serve_forever(poll_interval)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
771
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
772 def stop(self, timeout=None):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
773 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
774 Tell the server thread to stop, and wait for it to do so.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
775
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
776 :param timeout: How long to wait for the server thread
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
777 to terminate.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
778 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
779 self.shutdown()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
780 if self._thread is not None:
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
781 self._thread.join(timeout)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
782 self._thread = None
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
783 self.server_close()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
784 self.ready.clear()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
785
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
786 class TestHTTPServer(ControlMixin, HTTPServer):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
787 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
788 An HTTP server which is controllable using :class:`ControlMixin`.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
789
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
790 :param addr: A tuple with the IP address and port to listen on.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
791 :param handler: A handler callable which will be called with a
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
792 single parameter - the request - in order to
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
793 process the request.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
794 :param poll_interval: The polling interval in seconds.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
795 :param log: Pass ``True`` to enable log messages.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
796 """
70238
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
797 def __init__(self, addr, handler, poll_interval=0.5,
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
798 log=False, sslctx=None):
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
799 class DelegatingHTTPRequestHandler(BaseHTTPRequestHandler):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
800 def __getattr__(self, name, default=None):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
801 if name.startswith('do_'):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
802 return self.process_request
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
803 raise AttributeError(name)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
804
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
805 def process_request(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
806 self.server._handler(self)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
807
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
808 def log_message(self, format, *args):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
809 if log:
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
810 super(DelegatingHTTPRequestHandler,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
811 self).log_message(format, *args)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
812 HTTPServer.__init__(self, addr, DelegatingHTTPRequestHandler)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
813 ControlMixin.__init__(self, handler, poll_interval)
70238
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
814 self.sslctx = sslctx
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
815
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
816 def get_request(self):
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
817 try:
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
818 sock, addr = self.socket.accept()
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
819 if self.sslctx:
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
820 sock = self.sslctx.wrap_socket(sock, server_side=True)
80933
50d19c2fac82 Issue #16717: get rid of socket.error, replace with OSError
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80920
diff changeset
821 except OSError as e:
70238
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
822 # socket errors are silenced by the caller, print them here
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
823 sys.stderr.write("Got an error:\n%s\n" % e)
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
824 raise
337477d6aaff Added SSL capability to TestHTTPServer.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70170
diff changeset
825 return sock, addr
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
826
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
827 class TestTCPServer(ControlMixin, ThreadingTCPServer):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
828 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
829 A TCP server which is controllable using :class:`ControlMixin`.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
830
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
831 :param addr: A tuple with the IP address and port to listen on.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
832 :param handler: A handler callable which will be called with a single
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
833 parameter - the request - in order to process the request.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
834 :param poll_interval: The polling interval in seconds.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
835 :bind_and_activate: If True (the default), binds the server and starts it
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
836 listening. If False, you need to call
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
837 :meth:`server_bind` and :meth:`server_activate` at
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
838 some later time before calling :meth:`start`, so that
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
839 the server will set up the socket and listen on it.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
840 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
841
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
842 allow_reuse_address = True
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
843
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
844 def __init__(self, addr, handler, poll_interval=0.5,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
845 bind_and_activate=True):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
846 class DelegatingTCPRequestHandler(StreamRequestHandler):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
847
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
848 def handle(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
849 self.server._handler(self)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
850 ThreadingTCPServer.__init__(self, addr, DelegatingTCPRequestHandler,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
851 bind_and_activate)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
852 ControlMixin.__init__(self, handler, poll_interval)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
853
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
854 def server_bind(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
855 super(TestTCPServer, self).server_bind()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
856 self.port = self.socket.getsockname()[1]
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
857
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
858 class TestUnixStreamServer(TestTCPServer):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
859 address_family = socket.AF_UNIX
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
860
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
861 class TestUDPServer(ControlMixin, ThreadingUDPServer):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
862 """
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
863 A UDP server which is controllable using :class:`ControlMixin`.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
864
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
865 :param addr: A tuple with the IP address and port to listen on.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
866 :param handler: A handler callable which will be called with a
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
867 single parameter - the request - in order to
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
868 process the request.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
869 :param poll_interval: The polling interval for shutdown requests,
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
870 in seconds.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
871 :bind_and_activate: If True (the default), binds the server and
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
872 starts it listening. If False, you need to
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
873 call :meth:`server_bind` and
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
874 :meth:`server_activate` at some later time
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
875 before calling :meth:`start`, so that the server will
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
876 set up the socket and listen on it.
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
877 """
70318
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
878 def __init__(self, addr, handler, poll_interval=0.5,
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
879 bind_and_activate=True):
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
880 class DelegatingUDPRequestHandler(DatagramRequestHandler):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
881
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
882 def handle(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
883 self.server._handler(self)
70307
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
884
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
885 def finish(self):
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
886 data = self.wfile.getvalue()
70318
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
887 if data:
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
888 try:
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
889 super(DelegatingUDPRequestHandler, self).finish()
80933
50d19c2fac82 Issue #16717: get rid of socket.error, replace with OSError
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80920
diff changeset
890 except OSError:
70318
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
891 if not self.server._closed:
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
892 raise
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
893
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
894 ThreadingUDPServer.__init__(self, addr,
1b1471d50b9e Issue #12151: Test now ignores datagram socket errors after server is closed.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70308
diff changeset
895 DelegatingUDPRequestHandler,
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
896 bind_and_activate)
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
897 ControlMixin.__init__(self, handler, poll_interval)
70307
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
898 self._closed = False
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
899
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
900 def server_bind(self):
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
901 super(TestUDPServer, self).server_bind()
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
902 self.port = self.socket.getsockname()[1]
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
903
70307
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
904 def server_close(self):
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
905 super(TestUDPServer, self).server_close()
7980838e2f55 Issue #12151: Added diagnostics to help diagnose intermittent socket errors.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70281
diff changeset
906 self._closed = True
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
907
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
908 class TestUnixDatagramServer(TestUDPServer):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
909 address_family = socket.AF_UNIX
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
910
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
911 # - end of server_helper section
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
912
70169
c83fb59b73ea Skip some more tests in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70077
diff changeset
913 @unittest.skipUnless(threading, 'Threading required for this test.')
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
914 class SMTPHandlerTest(BaseTest):
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
915 def test_basic(self):
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
916 sockmap = {}
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
917 server = TestSMTPServer(('localhost', 0), self.process_message, 0.001,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
918 sockmap)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
919 server.start()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
920 addr = ('localhost', server.port)
76475
bdbcb8f48ddd Issue #14644: Increased default timeout for SMTPHandler. Note: last commit message referred to the wrong issue number.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 76354
diff changeset
921 h = logging.handlers.SMTPHandler(addr, 'me', 'you', 'Log', timeout=5.0)
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
922 self.assertEqual(h.toaddrs, ['you'])
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
923 self.messages = []
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
924 r = logging.makeLogRecord({'msg': 'Hello'})
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
925 self.handled = threading.Event()
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
926 h.handle(r)
75692
4b3f81720809 Fixes #14314: Improved SMTP timeout handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75534
diff changeset
927 self.handled.wait(5.0) # 14314: don't wait forever
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
928 server.stop()
75692
4b3f81720809 Fixes #14314: Improved SMTP timeout handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75534
diff changeset
929 self.assertTrue(self.handled.is_set())
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
930 self.assertEqual(len(self.messages), 1)
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
931 peer, mailfrom, rcpttos, data = self.messages[0]
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
932 self.assertEqual(mailfrom, 'me')
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
933 self.assertEqual(rcpttos, ['you'])
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
934 self.assertIn('\nSubject: Log\n', data)
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
935 self.assertTrue(data.endswith('\n\nHello'))
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
936 h.close()
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
937
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
938 def process_message(self, *args):
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
939 self.messages.append(args)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
940 self.handled.set()
69723
2ab07776510c Improved test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69665
diff changeset
941
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
942 class MemoryHandlerTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
943
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
944 """Tests for the MemoryHandler."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
945
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
946 # Do not bother with a logger name group.
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
947 expected_log_pat = r"^[\w.]+ -> (\w+): (\d+)$"
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
948
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
949 def setUp(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
950 BaseTest.setUp(self)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
951 self.mem_hdlr = logging.handlers.MemoryHandler(10, logging.WARNING,
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
952 self.root_hdlr)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
953 self.mem_logger = logging.getLogger('mem')
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
954 self.mem_logger.propagate = 0
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
955 self.mem_logger.addHandler(self.mem_hdlr)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
956
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
957 def tearDown(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
958 self.mem_hdlr.close()
46222
aed698c8647b Merged revisions 62021,62029,62035-62038,62043-62044,62052-62053 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 45635
diff changeset
959 BaseTest.tearDown(self)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
960
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
961 def test_flush(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
962 # The memory handler flushes to its target handler based on specific
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
963 # criteria (message count and message level).
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
964 self.mem_logger.debug(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
965 self.assert_log_lines([])
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
966 self.mem_logger.info(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
967 self.assert_log_lines([])
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
968 # This will flush because the level is >= logging.WARNING
73134
5611acf6917c Changed warn() to warning() in logging tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 72011
diff changeset
969 self.mem_logger.warning(self.next_message())
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
970 lines = [
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
971 ('DEBUG', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
972 ('INFO', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
973 ('WARNING', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
974 ]
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
975 self.assert_log_lines(lines)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
976 for n in (4, 14):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
977 for i in range(9):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
978 self.mem_logger.debug(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
979 self.assert_log_lines(lines)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
980 # This will flush because it's the 10th message since the last
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
981 # flush.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
982 self.mem_logger.debug(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
983 lines = lines + [('DEBUG', str(i)) for i in range(n, n + 10)]
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
984 self.assert_log_lines(lines)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
985
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
986 self.mem_logger.debug(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
987 self.assert_log_lines(lines)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
988
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
989
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
990 class ExceptionFormatter(logging.Formatter):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
991 """A special exception formatter."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
992 def formatException(self, ei):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
993 return "Got a [%s]" % ei[0].__name__
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
994
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
995
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
996 class ConfigFileTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
997
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
998 """Reading logging config from a .ini-style config file."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
999
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
1000 expected_log_pat = r"^(\w+) \+\+ (\w+)$"
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1001
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1002 # config0 is a standard configuration.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1003 config0 = """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1004 [loggers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1005 keys=root
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1006
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1007 [handlers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1008 keys=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1009
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1010 [formatters]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1011 keys=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1012
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1013 [logger_root]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1014 level=WARNING
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1015 handlers=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1016
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1017 [handler_hand1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1018 class=StreamHandler
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1019 level=NOTSET
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1020 formatter=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1021 args=(sys.stdout,)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1022
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1023 [formatter_form1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1024 format=%(levelname)s ++ %(message)s
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1025 datefmt=
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1026 """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1027
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1028 # config1 adds a little to the standard configuration.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1029 config1 = """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1030 [loggers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1031 keys=root,parser
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1032
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1033 [handlers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1034 keys=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1035
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1036 [formatters]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1037 keys=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1038
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1039 [logger_root]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1040 level=WARNING
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1041 handlers=
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1042
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1043 [logger_parser]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1044 level=DEBUG
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1045 handlers=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1046 propagate=1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1047 qualname=compiler.parser
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1048
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1049 [handler_hand1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1050 class=StreamHandler
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1051 level=NOTSET
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1052 formatter=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1053 args=(sys.stdout,)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1054
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1055 [formatter_form1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1056 format=%(levelname)s ++ %(message)s
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1057 datefmt=
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1058 """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1059
68317
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1060 # config1a moves the handler to the root.
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1061 config1a = """
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1062 [loggers]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1063 keys=root,parser
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1064
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1065 [handlers]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1066 keys=hand1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1067
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1068 [formatters]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1069 keys=form1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1070
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1071 [logger_root]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1072 level=WARNING
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1073 handlers=hand1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1074
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1075 [logger_parser]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1076 level=DEBUG
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1077 handlers=
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1078 propagate=1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1079 qualname=compiler.parser
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1080
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1081 [handler_hand1]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1082 class=StreamHandler
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1083 level=NOTSET
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1084 formatter=form1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1085 args=(sys.stdout,)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1086
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1087 [formatter_form1]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1088 format=%(levelname)s ++ %(message)s
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1089 datefmt=
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1090 """
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1091
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1092 # config2 has a subtle configuration error that should be reported
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1093 config2 = config1.replace("sys.stdout", "sys.stbout")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1094
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1095 # config3 has a less subtle configuration error
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1096 config3 = config1.replace("formatter=form1", "formatter=misspelled_name")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1097
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1098 # config4 specifies a custom formatter class to be loaded
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1099 config4 = """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1100 [loggers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1101 keys=root
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1102
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1103 [handlers]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1104 keys=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1105
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1106 [formatters]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1107 keys=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1108
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1109 [logger_root]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1110 level=NOTSET
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1111 handlers=hand1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1112
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1113 [handler_hand1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1114 class=StreamHandler
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1115 level=NOTSET
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1116 formatter=form1
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1117 args=(sys.stdout,)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1118
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1119 [formatter_form1]
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1120 class=""" + __name__ + """.ExceptionFormatter
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1121 format=%(levelname)s:%(name)s:%(message)s
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1122 datefmt=
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1123 """
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1124
48563
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1125 # config5 specifies a custom handler class to be loaded
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1126 config5 = config1.replace('class=StreamHandler', 'class=logging.StreamHandler')
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1127
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1128 # config6 uses ', ' delimiters in the handlers and formatters sections
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1129 config6 = """
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1130 [loggers]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1131 keys=root,parser
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1132
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1133 [handlers]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1134 keys=hand1, hand2
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1135
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1136 [formatters]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1137 keys=form1, form2
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1138
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1139 [logger_root]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1140 level=WARNING
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1141 handlers=
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1142
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1143 [logger_parser]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1144 level=DEBUG
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1145 handlers=hand1
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1146 propagate=1
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1147 qualname=compiler.parser
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1148
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1149 [handler_hand1]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1150 class=StreamHandler
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1151 level=NOTSET
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1152 formatter=form1
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1153 args=(sys.stdout,)
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1154
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1155 [handler_hand2]
49137
17475eb55067 Merged revisions 66337,66347,66350,66352,66358 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 49095
diff changeset
1156 class=StreamHandler
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1157 level=NOTSET
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1158 formatter=form1
49137
17475eb55067 Merged revisions 66337,66347,66350,66352,66358 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 49095
diff changeset
1159 args=(sys.stderr,)
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1160
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1161 [formatter_form1]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1162 format=%(levelname)s ++ %(message)s
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1163 datefmt=
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1164
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1165 [formatter_form2]
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1166 format=%(message)s
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1167 datefmt=
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1168 """
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1169
68317
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1170 # config7 adds a compiler logger.
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1171 config7 = """
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1172 [loggers]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1173 keys=root,parser,compiler
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1174
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1175 [handlers]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1176 keys=hand1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1177
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1178 [formatters]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1179 keys=form1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1180
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1181 [logger_root]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1182 level=WARNING
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1183 handlers=hand1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1184
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1185 [logger_compiler]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1186 level=DEBUG
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1187 handlers=
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1188 propagate=1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1189 qualname=compiler
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1190
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1191 [logger_parser]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1192 level=DEBUG
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1193 handlers=
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1194 propagate=1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1195 qualname=compiler.parser
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1196
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1197 [handler_hand1]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1198 class=StreamHandler
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1199 level=NOTSET
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1200 formatter=form1
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1201 args=(sys.stdout,)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1202
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1203 [formatter_form1]
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1204 format=%(levelname)s ++ %(message)s
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1205 datefmt=
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1206 """
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1207
82897
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1208 disable_test = """
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1209 [loggers]
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1210 keys=root
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1211
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1212 [handlers]
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1213 keys=screen
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1214
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1215 [formatters]
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1216 keys=
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1217
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1218 [logger_root]
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1219 level=DEBUG
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1220 handlers=screen
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1221
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1222 [handler_screen]
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1223 level=DEBUG
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1224 class=StreamHandler
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1225 args=(sys.stdout,)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1226 formatter=
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1227 """
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1228
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1229 def apply_config(self, conf, **kwargs):
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1230 file = io.StringIO(textwrap.dedent(conf))
82897
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1231 logging.config.fileConfig(file, **kwargs)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1232
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1233 def test_config0_ok(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1234 # A simple config file which overrides the default settings.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1235 with captured_stdout() as output:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1236 self.apply_config(self.config0)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1237 logger = logging.getLogger()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1238 # Won't output anything
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1239 logger.info(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1240 # Outputs a message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1241 logger.error(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1242 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1243 ('ERROR', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1244 ], stream=output)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1245 # Original logger output is empty.
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1246 self.assert_log_lines([])
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1247
79615
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1248 def test_config0_using_cp_ok(self):
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1249 # A simple config file which overrides the default settings.
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1250 with captured_stdout() as output:
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1251 file = io.StringIO(textwrap.dedent(self.config0))
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1252 cp = configparser.ConfigParser()
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1253 cp.read_file(file)
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1254 logging.config.fileConfig(cp)
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1255 logger = logging.getLogger()
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1256 # Won't output anything
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1257 logger.info(self.next_message())
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1258 # Outputs a message
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1259 logger.error(self.next_message())
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1260 self.assert_log_lines([
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1261 ('ERROR', '2'),
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1262 ], stream=output)
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1263 # Original logger output is empty.
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1264 self.assert_log_lines([])
ce0d0d052494 Closes #16110: fileConfig now accepts a pre-initialised ConfigParser instance.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79414
diff changeset
1265
48563
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1266 def test_config1_ok(self, config=config1):
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1267 # A config file defining a sub-parser as well.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1268 with captured_stdout() as output:
48563
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1269 self.apply_config(config)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1270 logger = logging.getLogger("compiler.parser")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1271 # Both will output a message
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1272 logger.info(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1273 logger.error(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1274 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1275 ('INFO', '1'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1276 ('ERROR', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1277 ], stream=output)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1278 # Original logger output is empty.
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1279 self.assert_log_lines([])
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1280
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1281 def test_config2_failure(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1282 # A simple config file which overrides the default settings.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1283 self.assertRaises(Exception, self.apply_config, self.config2)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1284
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1285 def test_config3_failure(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1286 # A simple config file which overrides the default settings.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1287 self.assertRaises(Exception, self.apply_config, self.config3)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1288
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1289 def test_config4_ok(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1290 # A config file specifying a custom formatter class.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1291 with captured_stdout() as output:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1292 self.apply_config(self.config4)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1293 logger = logging.getLogger()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1294 try:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1295 raise RuntimeError()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1296 except RuntimeError:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1297 logging.exception("just testing")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1298 sys.stdout.seek(0)
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 58218
diff changeset
1299 self.assertEqual(output.getvalue(),
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1300 "ERROR:root:just testing\nGot a [RuntimeError]\n")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1301 # Original logger output is empty
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1302 self.assert_log_lines([])
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1303
48563
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1304 def test_config5_ok(self):
b51cd5d3795c Merged revisions 65012,65035,65037-65040,65048,65057,65077,65091-65095,65097-65099,65127-65128,65131,65133-65136,65139,65149-65151,65155,65158-65159,65176-65178,65183-65184,65187-65190,65192,65194 via svnmerge from
Georg Brandl <georg@python.org>
parents: 47201
diff changeset
1305 self.test_config1_ok(config=self.config5)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1306
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1307 def test_config6_ok(self):
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1308 self.test_config1_ok(config=self.config6)
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1309
68317
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1310 def test_config7_ok(self):
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1311 with captured_stdout() as output:
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1312 self.apply_config(self.config1a)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1313 logger = logging.getLogger("compiler.parser")
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1314 # See issue #11424. compiler-hyphenated sorts
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1315 # between compiler and compiler.xyz and this
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1316 # was preventing compiler.xyz from being included
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1317 # in the child loggers of compiler because of an
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1318 # overzealous loop termination condition.
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1319 hyphenated = logging.getLogger('compiler-hyphenated')
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1320 # All will output a message
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1321 logger.info(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1322 logger.error(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1323 hyphenated.critical(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1324 self.assert_log_lines([
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1325 ('INFO', '1'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1326 ('ERROR', '2'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1327 ('CRITICAL', '3'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1328 ], stream=output)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1329 # Original logger output is empty.
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1330 self.assert_log_lines([])
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1331 with captured_stdout() as output:
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1332 self.apply_config(self.config7)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1333 logger = logging.getLogger("compiler.parser")
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1334 self.assertFalse(logger.disabled)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1335 # Both will output a message
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1336 logger.info(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1337 logger.error(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1338 logger = logging.getLogger("compiler.lexer")
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1339 # Both will output a message
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1340 logger.info(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1341 logger.error(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1342 # Will not appear
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1343 hyphenated.critical(self.next_message())
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1344 self.assert_log_lines([
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1345 ('INFO', '4'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1346 ('ERROR', '5'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1347 ('INFO', '6'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1348 ('ERROR', '7'),
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1349 ], stream=output)
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1350 # Original logger output is empty.
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1351 self.assert_log_lines([])
d9125bf3bac5 Issue #11424: Fix bug in determining child loggers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66340
diff changeset
1352
82897
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1353 def test_logger_disabling(self):
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1354 self.apply_config(self.disable_test)
85702
1dc925ee441a Avoid test_logging failure when run after test_unittest, by renaming a conflicting logger
Antoine Pitrou <solipsis@pitrou.net>
parents: 85442
diff changeset
1355 logger = logging.getLogger('some_pristine_logger')
82897
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1356 self.assertFalse(logger.disabled)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1357 self.apply_config(self.disable_test)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1358 self.assertTrue(logger.disabled)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1359 self.apply_config(self.disable_test, disable_existing_loggers=False)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1360 self.assertFalse(logger.disabled)
49d54e4d95df Issue #17521: Corrected non-enabling of logger following two calls to fileConfig().
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82882
diff changeset
1361
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1362
61073
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
1363 @unittest.skipUnless(threading, 'Threading required for this test.')
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1364 class SocketHandlerTest(BaseTest):
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1365
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1366 """Test for SocketHandler objects."""
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1367
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1368 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1369 server_class = TestTCPServer
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1370 address = ('localhost', 0)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1371
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1372 def setUp(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1373 """Set up a TCP server to receive log messages, and a SocketHandler
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1374 pointing to that server's address and port."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1375 BaseTest.setUp(self)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1376 self.server = server = self.server_class(self.address,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1377 self.handle_socket, 0.01)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1378 server.start()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1379 server.ready.wait()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1380 hcls = logging.handlers.SocketHandler
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1381 if isinstance(server.server_address, tuple):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1382 self.sock_hdlr = hcls('localhost', server.port)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1383 else:
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1384 self.sock_hdlr = hcls(server.server_address, None)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1385 self.log_output = ''
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1386 self.root_logger.removeHandler(self.root_logger.handlers[0])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1387 self.root_logger.addHandler(self.sock_hdlr)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1388 self.handled = threading.Semaphore(0)
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1389
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1390 def tearDown(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1391 """Shutdown the TCP server."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1392 try:
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1393 self.server.stop(2.0)
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1394 self.root_logger.removeHandler(self.sock_hdlr)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1395 self.sock_hdlr.close()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1396 finally:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1397 BaseTest.tearDown(self)
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1398
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1399 def handle_socket(self, request):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1400 conn = request.connection
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1401 while True:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1402 chunk = conn.recv(4)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1403 if len(chunk) < 4:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1404 break
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1405 slen = struct.unpack(">L", chunk)[0]
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1406 chunk = conn.recv(slen)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1407 while len(chunk) < slen:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1408 chunk = chunk + conn.recv(slen - len(chunk))
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1409 obj = pickle.loads(chunk)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1410 record = logging.makeLogRecord(obj)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1411 self.log_output += record.msg + '\n'
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1412 self.handled.release()
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
1413
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1414 def test_output(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1415 # The log message sent to the SocketHandler is properly received.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1416 logger = logging.getLogger("tcp")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1417 logger.error("spam")
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1418 self.handled.acquire()
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1419 logger.debug("eggs")
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1420 self.handled.acquire()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1421 self.assertEqual(self.log_output, "spam\neggs\n")
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
1422
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1423 def test_noserver(self):
79874
0fb2267897ba Try to fix issue #16264 (test_logging failure on some buildbots).
Antoine Pitrou <solipsis@pitrou.net>
parents: 79787
diff changeset
1424 # Avoid timing-related failures due to SocketHandler's own hard-wired
0fb2267897ba Try to fix issue #16264 (test_logging failure on some buildbots).
Antoine Pitrou <solipsis@pitrou.net>
parents: 79787
diff changeset
1425 # one-second timeout on socket.create_connection() (issue #16264).
0fb2267897ba Try to fix issue #16264 (test_logging failure on some buildbots).
Antoine Pitrou <solipsis@pitrou.net>
parents: 79787
diff changeset
1426 self.sock_hdlr.retryStart = 2.5
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1427 # Kill the server
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1428 self.server.stop(2.0)
79874
0fb2267897ba Try to fix issue #16264 (test_logging failure on some buildbots).
Antoine Pitrou <solipsis@pitrou.net>
parents: 79787
diff changeset
1429 # The logging call should try to connect, which should fail
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1430 try:
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1431 raise RuntimeError('Deliberate mistake')
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1432 except RuntimeError:
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1433 self.root_logger.exception('Never sent')
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1434 self.root_logger.error('Never sent, either')
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1435 now = time.time()
79787
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
1436 self.assertGreater(self.sock_hdlr.retryTime, now)
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1437 time.sleep(self.sock_hdlr.retryTime - now + 0.001)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
1438 self.root_logger.error('Nor this')
45460
58c3f3439670 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60849,60852-60854,60856-60859,60861-60870,60874-60875,60880-60881,60886,60888-60890,60892,60894-60898,60900,60902-60906,60908,60911-60917,60919-60920,60922,60926,60929-60931,60933-60935,60937,60939-60941,60943-60954,60959-60961,60963-60964,60966-60967,60971,60977,60979-60989 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45377
diff changeset
1439
85811
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1440 def _get_temp_domain_socket():
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1441 fd, fn = tempfile.mkstemp(prefix='test_logging_', suffix='.sock')
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1442 os.close(fd)
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1443 # just need a name - file can't be present, or we'll get an
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1444 # 'address already in use' error.
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1445 os.remove(fn)
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1446 return fn
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1447
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1448 @unittest.skipUnless(threading, 'Threading required for this test.')
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1449 class UnixSocketHandlerTest(SocketHandlerTest):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1450
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1451 """Test for SocketHandler with unix sockets."""
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1452
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1453 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1454 server_class = TestUnixStreamServer
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1455
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1456 def setUp(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1457 # override the definition in the base class
85811
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1458 self.address = _get_temp_domain_socket()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1459 SocketHandlerTest.setUp(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1460
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1461 def tearDown(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1462 SocketHandlerTest.tearDown(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1463 os.remove(self.address)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1464
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1465 @unittest.skipUnless(threading, 'Threading required for this test.')
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1466 class DatagramHandlerTest(BaseTest):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1467
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1468 """Test for DatagramHandler."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1469
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1470 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1471 server_class = TestUDPServer
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1472 address = ('localhost', 0)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1473
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1474 def setUp(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1475 """Set up a UDP server to receive log messages, and a DatagramHandler
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1476 pointing to that server's address and port."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1477 BaseTest.setUp(self)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1478 self.server = server = self.server_class(self.address,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1479 self.handle_datagram, 0.01)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1480 server.start()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1481 server.ready.wait()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1482 hcls = logging.handlers.DatagramHandler
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1483 if isinstance(server.server_address, tuple):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1484 self.sock_hdlr = hcls('localhost', server.port)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1485 else:
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1486 self.sock_hdlr = hcls(server.server_address, None)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1487 self.log_output = ''
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1488 self.root_logger.removeHandler(self.root_logger.handlers[0])
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1489 self.root_logger.addHandler(self.sock_hdlr)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1490 self.handled = threading.Event()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1491
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1492 def tearDown(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1493 """Shutdown the UDP server."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1494 try:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1495 self.server.stop(2.0)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1496 self.root_logger.removeHandler(self.sock_hdlr)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1497 self.sock_hdlr.close()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1498 finally:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1499 BaseTest.tearDown(self)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1500
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1501 def handle_datagram(self, request):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1502 slen = struct.pack('>L', 0) # length of prefix
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1503 packet = request.packet[len(slen):]
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1504 obj = pickle.loads(packet)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1505 record = logging.makeLogRecord(obj)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1506 self.log_output += record.msg + '\n'
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1507 self.handled.set()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1508
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1509 def test_output(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1510 # The log message sent to the DatagramHandler is properly received.
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1511 logger = logging.getLogger("udp")
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1512 logger.error("spam")
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1513 self.handled.wait()
69780
7fe328d0fa5f Improved thread interlocks in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69779
diff changeset
1514 self.handled.clear()
7fe328d0fa5f Improved thread interlocks in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69779
diff changeset
1515 logger.error("eggs")
7fe328d0fa5f Improved thread interlocks in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69779
diff changeset
1516 self.handled.wait()
7fe328d0fa5f Improved thread interlocks in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69779
diff changeset
1517 self.assertEqual(self.log_output, "spam\neggs\n")
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1518
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1519
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1520 @unittest.skipUnless(threading, 'Threading required for this test.')
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1521 class UnixDatagramHandlerTest(DatagramHandlerTest):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1522
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1523 """Test for DatagramHandler using Unix sockets."""
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1524
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1525 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1526 server_class = TestUnixDatagramServer
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1527
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1528 def setUp(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1529 # override the definition in the base class
85811
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1530 self.address = _get_temp_domain_socket()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1531 DatagramHandlerTest.setUp(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1532
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1533 def tearDown(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1534 DatagramHandlerTest.tearDown(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1535 os.remove(self.address)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1536
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1537 @unittest.skipUnless(threading, 'Threading required for this test.')
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1538 class SysLogHandlerTest(BaseTest):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1539
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1540 """Test for SysLogHandler using UDP."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1541
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1542 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1543 server_class = TestUDPServer
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1544 address = ('localhost', 0)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1545
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1546 def setUp(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1547 """Set up a UDP server to receive log messages, and a SysLogHandler
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1548 pointing to that server's address and port."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1549 BaseTest.setUp(self)
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1550 self.server = server = self.server_class(self.address,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1551 self.handle_datagram, 0.01)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1552 server.start()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1553 server.ready.wait()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1554 hcls = logging.handlers.SysLogHandler
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1555 if isinstance(server.server_address, tuple):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1556 self.sl_hdlr = hcls(('localhost', server.port))
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1557 else:
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1558 self.sl_hdlr = hcls(server.server_address)
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1559 self.log_output = ''
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1560 self.root_logger.removeHandler(self.root_logger.handlers[0])
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1561 self.root_logger.addHandler(self.sl_hdlr)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1562 self.handled = threading.Event()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1563
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1564 def tearDown(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1565 """Shutdown the UDP server."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1566 try:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1567 self.server.stop(2.0)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1568 self.root_logger.removeHandler(self.sl_hdlr)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1569 self.sl_hdlr.close()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1570 finally:
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1571 BaseTest.tearDown(self)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1572
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1573 def handle_datagram(self, request):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1574 self.log_output = request.packet
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1575 self.handled.set()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1576
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1577 def test_output(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1578 # The log message sent to the SysLogHandler is properly received.
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1579 logger = logging.getLogger("slh")
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1580 logger.error("sp\xe4m")
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1581 self.handled.wait()
76354
603301cfb194 Closes #14452: brought tests in line with removal of BOM insertion code.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75692
diff changeset
1582 self.assertEqual(self.log_output, b'<11>sp\xc3\xa4m\x00')
70740
ac1217099b3f Merged fix for issue #12168 from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70642
diff changeset
1583 self.handled.clear()
ac1217099b3f Merged fix for issue #12168 from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70642
diff changeset
1584 self.sl_hdlr.append_nul = False
ac1217099b3f Merged fix for issue #12168 from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70642
diff changeset
1585 logger.error("sp\xe4m")
ac1217099b3f Merged fix for issue #12168 from 3.2.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70642
diff changeset
1586 self.handled.wait()
76354
603301cfb194 Closes #14452: brought tests in line with removal of BOM insertion code.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75692
diff changeset
1587 self.assertEqual(self.log_output, b'<11>sp\xc3\xa4m')
71015
6baa90fa2b6d Closes #12419: Added ident to SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70740
diff changeset
1588 self.handled.clear()
6baa90fa2b6d Closes #12419: Added ident to SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70740
diff changeset
1589 self.sl_hdlr.ident = "h\xe4m-"
6baa90fa2b6d Closes #12419: Added ident to SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70740
diff changeset
1590 logger.error("sp\xe4m")
6baa90fa2b6d Closes #12419: Added ident to SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70740
diff changeset
1591 self.handled.wait()
76354
603301cfb194 Closes #14452: brought tests in line with removal of BOM insertion code.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75692
diff changeset
1592 self.assertEqual(self.log_output, b'<11>h\xc3\xa4m-sp\xc3\xa4m')
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1593
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1594
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1595 @unittest.skipUnless(threading, 'Threading required for this test.')
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1596 class UnixSysLogHandlerTest(SysLogHandlerTest):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1597
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1598 """Test for SysLogHandler with Unix sockets."""
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1599
85812
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1600 if threading:
1a4e4b6bc196 Updated test_logging so that errors don't occur in the absence of threading.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85811
diff changeset
1601 server_class = TestUnixDatagramServer
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1602
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1603 def setUp(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1604 # override the definition in the base class
85811
c01e5a572348 Streamlined logging tests by moving common code to a helper function.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85810
diff changeset
1605 self.address = _get_temp_domain_socket()
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1606 SysLogHandlerTest.setUp(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1607
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1608 def tearDown(self):
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1609 SysLogHandlerTest.tearDown(self)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1610 os.remove(self.address)
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1611
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
1612 @unittest.skipUnless(threading, 'Threading required for this test.')
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1613 class HTTPHandlerTest(BaseTest):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1614 """Test for HTTPHandler."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1615
70244
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1616 PEMFILE = """-----BEGIN RSA PRIVATE KEY-----
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1617 MIICXQIBAAKBgQDGT4xS5r91rbLJQK2nUDenBhBG6qFk+bVOjuAGC/LSHlAoBnvG
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1618 zQG3agOG+e7c5z2XT8m2ktORLqG3E4mYmbxgyhDrzP6ei2Anc+pszmnxPoK3Puh5
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1619 aXV+XKt0bU0C1m2+ACmGGJ0t3P408art82nOxBw8ZHgIg9Dtp6xIUCyOqwIDAQAB
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1620 AoGBAJFTnFboaKh5eUrIzjmNrKsG44jEyy+vWvHN/FgSC4l103HxhmWiuL5Lv3f7
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1621 0tMp1tX7D6xvHwIG9VWvyKb/Cq9rJsDibmDVIOslnOWeQhG+XwJyitR0pq/KlJIB
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1622 5LjORcBw795oKWOAi6RcOb1ON59tysEFYhAGQO9k6VL621gRAkEA/Gb+YXULLpbs
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1623 piXN3q4zcHzeaVANo69tUZ6TjaQqMeTxE4tOYM0G0ZoSeHEdaP59AOZGKXXNGSQy
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1624 2z/MddcYGQJBAMkjLSYIpOLJY11ja8OwwswFG2hEzHe0cS9bzo++R/jc1bHA5R0Y
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1625 i6vA5iPi+wopPFvpytdBol7UuEBe5xZrxWMCQQCWxELRHiP2yWpEeLJ3gGDzoXMN
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1626 PydWjhRju7Bx3AzkTtf+D6lawz1+eGTuEss5i0JKBkMEwvwnN2s1ce+EuF4JAkBb
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1627 E96h1lAzkVW5OAfYOPY8RCPA90ZO/hoyg7PpSxR0ECuDrgERR8gXIeYUYfejBkEa
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1628 rab4CfRoVJKKM28Yq/xZAkBvuq670JRCwOgfUTdww7WpdOQBYPkzQccsKNCslQW8
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1629 /DyW6y06oQusSENUvynT6dr3LJxt/NgZPhZX2+k1eYDV
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1630 -----END RSA PRIVATE KEY-----
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1631 -----BEGIN CERTIFICATE-----
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1632 MIICGzCCAYSgAwIBAgIJAIq84a2Q/OvlMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1633 BAMTCWxvY2FsaG9zdDAeFw0xMTA1MjExMDIzMzNaFw03NTAzMjEwMzU1MTdaMBQx
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1634 EjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1635 xk+MUua/da2yyUCtp1A3pwYQRuqhZPm1To7gBgvy0h5QKAZ7xs0Bt2oDhvnu3Oc9
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1636 l0/JtpLTkS6htxOJmJm8YMoQ68z+notgJ3PqbM5p8T6Ctz7oeWl1flyrdG1NAtZt
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1637 vgAphhidLdz+NPGq7fNpzsQcPGR4CIPQ7aesSFAsjqsCAwEAAaN1MHMwHQYDVR0O
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1638 BBYEFLWaUPO6N7efGiuoS9i3DVYcUwn0MEQGA1UdIwQ9MDuAFLWaUPO6N7efGiuo
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1639 S9i3DVYcUwn0oRikFjAUMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQCKvOGtkPzr5TAM
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1640 BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAMK5whPjLNQK1Ivvk88oqJqq
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1641 4f889OwikGP0eUhOBhbFlsZs+jq5YZC2UzHz+evzKBlgAP1u4lP/cB85CnjvWqM+
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1642 1c/lywFHQ6HOdDeQ1L72tSYMrNOG4XNmLn0h7rx6GoTU7dcFRfseahBCq8mv0IDt
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1643 IRbTpvlHWPjsSvHz0ZOH
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1644 -----END CERTIFICATE-----"""
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1645
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1646 def setUp(self):
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1647 """Set up an HTTP server to receive log messages, and a HTTPHandler
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1648 pointing to that server's address and port."""
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1649 BaseTest.setUp(self)
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1650 self.handled = threading.Event()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1651
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1652 def handle_request(self, request):
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1653 self.command = request.command
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1654 self.log_data = urlparse(request.path)
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1655 if self.command == 'POST':
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1656 try:
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1657 rlen = int(request.headers['Content-Length'])
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1658 self.post_data = request.rfile.read(rlen)
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1659 except:
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1660 self.post_data = None
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1661 request.send_response(200)
70007
204e027dfa98 Issue #12039: Add end_headers() call to avoid BadStatusLine.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70002
diff changeset
1662 request.end_headers()
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1663 self.handled.set()
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1664
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1665 def test_output(self):
69992
2d4ef202d4ed Update incorrect comment.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69986
diff changeset
1666 # The log message sent to the HTTPHandler is properly received.
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
1667 logger = logging.getLogger("http")
70244
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1668 root_logger = self.root_logger
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1669 root_logger.removeHandler(self.root_logger.handlers[0])
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1670 for secure in (False, True):
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1671 addr = ('localhost', 0)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1672 if secure:
70254
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1673 try:
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1674 import ssl
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1675 fd, fn = tempfile.mkstemp()
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1676 os.close(fd)
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1677 with open(fn, 'w') as f:
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1678 f.write(self.PEMFILE)
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1679 sslctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1680 sslctx.load_cert_chain(fn)
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1681 os.unlink(fn)
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1682 except ImportError:
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1683 sslctx = None
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
1684 else:
70244
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1685 sslctx = None
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1686 self.server = server = TestHTTPServer(addr, self.handle_request,
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1687 0.01, sslctx=sslctx)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1688 server.start()
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1689 server.ready.wait()
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1690 host = 'localhost:%d' % server.server_port
70254
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1691 secure_client = secure and sslctx
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1692 self.h_hdlr = logging.handlers.HTTPHandler(host, '/frob',
2be3ffa82293 Issue #12136: Added change to handle non-availability of the ssl module.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70244
diff changeset
1693 secure=secure_client)
70244
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1694 self.log_data = None
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1695 root_logger.addHandler(self.h_hdlr)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1696
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1697 for method in ('GET', 'POST'):
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1698 self.h_hdlr.method = method
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1699 self.handled.clear()
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1700 msg = "sp\xe4m"
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1701 logger.error(msg)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1702 self.handled.wait()
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1703 self.assertEqual(self.log_data.path, '/frob')
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1704 self.assertEqual(self.command, method)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1705 if method == 'GET':
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1706 d = parse_qs(self.log_data.query)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1707 else:
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1708 d = parse_qs(self.post_data.decode('utf-8'))
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1709 self.assertEqual(d['name'], ['http'])
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1710 self.assertEqual(d['funcName'], ['test_output'])
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1711 self.assertEqual(d['msg'], [msg])
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1712
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1713 self.server.stop(2.0)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1714 self.root_logger.removeHandler(self.h_hdlr)
961650dd9c91 Added SSL test for HTTPHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70238
diff changeset
1715 self.h_hdlr.close()
45460
58c3f3439670 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60849,60852-60854,60856-60859,60861-60870,60874-60875,60880-60881,60886,60888-60890,60892,60894-60898,60900,60902-60906,60908,60911-60917,60919-60920,60922,60926,60929-60931,60933-60935,60937,60939-60941,60943-60954,60959-60961,60963-60964,60966-60967,60971,60977,60979-60989 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45377
diff changeset
1716
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1717 class MemoryTest(BaseTest):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1718
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1719 """Test memory persistence of logger objects."""
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
1720
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1721 def setUp(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1722 """Create a dict to remember potentially destroyed objects."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1723 BaseTest.setUp(self)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1724 self._survivors = {}
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
1725
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1726 def _watch_for_survival(self, *args):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1727 """Watch the given objects for survival, by creating weakrefs to
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1728 them."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1729 for obj in args:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1730 key = id(obj), repr(obj)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1731 self._survivors[key] = weakref.ref(obj)
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
1732
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 53920
diff changeset
1733 def _assertTruesurvival(self):
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1734 """Assert that all objects watched for survival have survived."""
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1735 # Trigger cycle breaking.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1736 gc.collect()
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1737 dead = []
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1738 for (id_, repr_), ref in self._survivors.items():
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1739 if ref() is None:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1740 dead.append(repr_)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1741 if dead:
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1742 self.fail("%d objects should have survived "
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1743 "but have been destroyed: %s" % (len(dead), ", ".join(dead)))
36307
beceb8e66b0b Added test for fileConfig. Contributed by Shane Hathaway.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 36163
diff changeset
1744
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1745 def test_persistent_loggers(self):
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1746 # Logger objects are persistent and retain their configuration, even
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1747 # if visible references are destroyed.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1748 self.root_logger.setLevel(logging.INFO)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1749 foo = logging.getLogger("foo")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1750 self._watch_for_survival(foo)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1751 foo.setLevel(logging.DEBUG)
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1752 self.root_logger.debug(self.next_message())
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1753 foo.debug(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1754 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1755 ('foo', 'DEBUG', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1756 ])
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1757 del foo
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1758 # foo has survived.
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 53920
diff changeset
1759 self._assertTruesurvival()
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1760 # foo has retained its settings.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1761 bar = logging.getLogger("foo")
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1762 bar.debug(self.next_message())
55594
d7f3cdf2b07f Merged revisions 73718,73721,73723 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55593
diff changeset
1763 self.assert_log_lines([
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1764 ('foo', 'DEBUG', '2'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1765 ('foo', 'DEBUG', '3'),
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
1766 ])
36307
beceb8e66b0b Added test for fileConfig. Contributed by Shane Hathaway.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 36163
diff changeset
1767
51579
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1768
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1769 class EncodingTest(BaseTest):
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1770 def test_encoding_plain_file(self):
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1771 # In Python 2.x, a plain file object is treated as having no encoding.
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1772 log = logging.getLogger("test")
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
1773 fd, fn = tempfile.mkstemp(".log", "test_logging-1-")
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
1774 os.close(fd)
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1775 # the non-ascii data we write to the log.
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1776 data = "foo\x80"
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1777 try:
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1778 handler = logging.FileHandler(fn, encoding="utf-8")
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1779 log.addHandler(handler)
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1780 try:
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1781 # write non-ascii data to the log.
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1782 log.warning(data)
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1783 finally:
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1784 log.removeHandler(handler)
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1785 handler.close()
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1786 # check we wrote exactly those bytes, ignoring trailing \n etc
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1787 f = open(fn, encoding="utf-8")
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1788 try:
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 53920
diff changeset
1789 self.assertEqual(f.read().rstrip(), data)
49095
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1790 finally:
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1791 f.close()
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1792 finally:
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1793 if os.path.isfile(fn):
4d148bb84a07 Merged revisions 66141,66145,66150,66180,66211,66217,66219,66226,66231,66244,66246,66249-66250,66264,66268,66272,66294,66306 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 48563
diff changeset
1794 os.remove(fn)
36307
beceb8e66b0b Added test for fileConfig. Contributed by Shane Hathaway.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 36163
diff changeset
1795
51579
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1796 def test_encoding_cyrillic_unicode(self):
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1797 log = logging.getLogger("test")
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1798 #Get a message in Unicode: Do svidanya in Cyrillic (meaning goodbye)
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1799 message = '\u0434\u043e \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u044f'
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1800 #Ensure it's written in a Cyrillic encoding
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1801 writer_class = codecs.getwriter('cp1251')
53920
7a9e081ece4c Merged revisions 70768,71657,71721,71729,71794,71976,72036-72037,72079,72085,72131-72134,72191,72197-72198,72219,72221,72225,72303,72434,72467,72476 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 52891
diff changeset
1802 writer_class.encoding = 'cp1251'
51579
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1803 stream = io.BytesIO()
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1804 writer = writer_class(stream, 'strict')
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1805 handler = logging.StreamHandler(writer)
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1806 log.addHandler(handler)
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1807 try:
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1808 log.warning(message)
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1809 finally:
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1810 log.removeHandler(handler)
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1811 handler.close()
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1812 # check we wrote exactly those bytes, ignoring trailing \n etc
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1813 s = stream.getvalue()
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1814 #Compare against what the data should be when encoded in CP-1251
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1815 self.assertEqual(s, b'\xe4\xee \xf1\xe2\xe8\xe4\xe0\xed\xe8\xff\n')
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1816
648e07dd0825 Merged revisions 69364-69365,69409-69410,69413,69417,69435,69442,69447,69495,69519-69521 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 50074
diff changeset
1817
50074
024a9897c651 Merged revisions 67511,67536-67537,67543 via svnmerge from
Georg Brandl <georg@python.org>
parents: 49137
diff changeset
1818 class WarningsTest(BaseTest):
52667
2d95c0141214 Merged revisions 70975 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents: 51579
diff changeset
1819
50074
024a9897c651 Merged revisions 67511,67536-67537,67543 via svnmerge from
Georg Brandl <georg@python.org>
parents: 49137
diff changeset
1820 def test_warnings(self):
52667
2d95c0141214 Merged revisions 70975 via svnmerge from
Brett Cannon <bcannon@gmail.com>
parents: 51579
diff changeset
1821 with warnings.catch_warnings():
52891
7b4ef0b87ddc Blocked revisions 71221 via svnmerge
Brett Cannon <bcannon@gmail.com>
parents: 52667
diff changeset
1822 logging.captureWarnings(True)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
1823 self.addCleanup(logging.captureWarnings, False)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1824 warnings.filterwarnings("always", category=UserWarning)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1825 stream = io.StringIO()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1826 h = logging.StreamHandler(stream)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1827 logger = logging.getLogger("py.warnings")
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1828 logger.addHandler(h)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1829 warnings.warn("I'm warning you...")
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1830 logger.removeHandler(h)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1831 s = stream.getvalue()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1832 h.close()
79787
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
1833 self.assertGreater(s.find("UserWarning: I'm warning you...\n"), 0)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1834
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1835 #See if an explicit file uses the original implementation
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1836 a_file = io.StringIO()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1837 warnings.showwarning("Explicit", UserWarning, "dummy.py", 42,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1838 a_file, "Dummy line")
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1839 s = a_file.getvalue()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1840 a_file.close()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1841 self.assertEqual(s,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1842 "dummy.py:42: UserWarning: Explicit\n Dummy line\n")
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1843
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1844 def test_warnings_no_handlers(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1845 with warnings.catch_warnings():
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1846 logging.captureWarnings(True)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
1847 self.addCleanup(logging.captureWarnings, False)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1848
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1849 # confirm our assumption: no loggers are set
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1850 logger = logging.getLogger("py.warnings")
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
1851 self.assertEqual(logger.handlers, [])
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1852
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1853 warnings.showwarning("Explicit", UserWarning, "dummy.py", 42)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
1854 self.assertEqual(len(logger.handlers), 1)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
1855 self.assertIsInstance(logger.handlers[0], logging.NullHandler)
50074
024a9897c651 Merged revisions 67511,67536-67537,67543 via svnmerge from
Georg Brandl <georg@python.org>
parents: 49137
diff changeset
1856
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1857
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1858 def formatFunc(format, datefmt=None):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1859 return logging.Formatter(format, datefmt)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1860
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1861 def handlerFunc():
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1862 return logging.StreamHandler()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1863
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1864 class CustomHandler(logging.StreamHandler):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1865 pass
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1866
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1867 class ConfigDictTest(BaseTest):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1868
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1869 """Reading logging config from a dictionary."""
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1870
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
1871 expected_log_pat = r"^(\w+) \+\+ (\w+)$"
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1872
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1873 # config0 is a standard configuration.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1874 config0 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1875 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1876 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1877 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1878 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1879 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1880 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1881 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1882 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1883 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1884 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1885 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1886 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1887 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1888 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1889 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1890 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1891 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1892 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1893 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1894
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1895 # config1 adds a little to the standard configuration.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1896 config1 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1897 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1898 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1899 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1900 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1901 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1902 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1903 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1904 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1905 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1906 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1907 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1908 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1909 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1910 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1911 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1912 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1913 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1914 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1915 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1916 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1917 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1918 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1919 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1920 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1921
68319
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1922 # config1a moves the handler to the root. Used with config8a
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1923 config1a = {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1924 'version': 1,
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1925 'formatters': {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1926 'form1' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1927 'format' : '%(levelname)s ++ %(message)s',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1928 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1929 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1930 'handlers' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1931 'hand1' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1932 'class' : 'logging.StreamHandler',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1933 'formatter' : 'form1',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1934 'level' : 'NOTSET',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1935 'stream' : 'ext://sys.stdout',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1936 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1937 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1938 'loggers' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1939 'compiler.parser' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1940 'level' : 'DEBUG',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1941 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1942 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1943 'root' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1944 'level' : 'WARNING',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1945 'handlers' : ['hand1'],
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1946 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1947 }
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
1948
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1949 # config2 has a subtle configuration error that should be reported
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1950 config2 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1951 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1952 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1953 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1954 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1955 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1956 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1957 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1958 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1959 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1960 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1961 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1962 'stream' : 'ext://sys.stdbout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1963 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1964 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1965 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1966 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1967 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1968 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1969 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1970 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1971 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1972 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1973 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1974 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1975
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1976 #As config1 but with a misspelt level on a handler
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1977 config2a = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
1978 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1979 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1980 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1981 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1982 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1983 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1984 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1985 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1986 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1987 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1988 'level' : 'NTOSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1989 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1990 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1991 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1992 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1993 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1994 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1995 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1996 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1997 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1998 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
1999 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2000 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2001 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2002
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2003
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2004 #As config1 but with a misspelt level on a logger
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2005 config2b = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2006 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2007 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2008 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2009 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2010 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2011 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2012 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2013 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2014 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2015 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2016 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2017 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2018 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2019 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2020 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2021 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2022 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2023 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2024 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2025 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2026 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2027 'level' : 'WRANING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2028 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2029 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2030
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2031 # config3 has a less subtle configuration error
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2032 config3 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2033 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2034 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2035 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2036 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2037 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2038 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2039 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2040 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2041 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2042 'formatter' : 'misspelled_name',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2043 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2044 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2045 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2046 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2047 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2048 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2049 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2050 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2051 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2052 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2053 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2054 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2055 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2056 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2057
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2058 # config4 specifies a custom formatter class to be loaded
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2059 config4 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2060 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2061 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2062 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2063 '()' : __name__ + '.ExceptionFormatter',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2064 'format' : '%(levelname)s:%(name)s:%(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2065 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2066 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2067 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2068 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2069 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2070 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2071 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2072 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2073 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2074 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2075 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2076 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2077 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2078 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2079 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2080
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2081 # As config4 but using an actual callable rather than a string
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2082 config4a = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2083 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2084 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2085 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2086 '()' : ExceptionFormatter,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2087 'format' : '%(levelname)s:%(name)s:%(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2088 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2089 'form2' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2090 '()' : __name__ + '.formatFunc',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2091 'format' : '%(levelname)s:%(name)s:%(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2092 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2093 'form3' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2094 '()' : formatFunc,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2095 'format' : '%(levelname)s:%(name)s:%(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2096 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2097 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2098 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2099 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2100 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2101 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2102 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2103 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2104 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2105 'hand2' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2106 '()' : handlerFunc,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2107 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2108 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2109 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2110 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2111 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2112 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2113 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2114
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2115 # config5 specifies a custom handler class to be loaded
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2116 config5 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2117 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2118 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2119 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2120 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2121 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2122 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2123 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2124 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2125 'class' : __name__ + '.CustomHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2126 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2127 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2128 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2129 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2130 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2131 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2132 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2133 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2134 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2135 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2136 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2137 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2138 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2139 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2140 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2141
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2142 # config6 specifies a custom handler class to be loaded
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2143 # but has bad arguments
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2144 config6 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2145 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2146 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2147 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2148 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2149 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2150 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2151 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2152 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2153 'class' : __name__ + '.CustomHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2154 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2155 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2156 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2157 '9' : 'invalid parameter name',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2158 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2159 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2160 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2161 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2162 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2163 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2164 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2165 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2166 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2167 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2168 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2169 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2170
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2171 #config 7 does not define compiler.parser but defines compiler.lexer
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2172 #so compiler.parser should be disabled after applying it
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2173 config7 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2174 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2175 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2176 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2177 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2178 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2179 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2180 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2181 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2182 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2183 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2184 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2185 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2186 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2187 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2188 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2189 'compiler.lexer' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2190 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2191 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2192 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2193 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2194 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2195 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2196 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2197 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2198
68319
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2199 # config8 defines both compiler and compiler.lexer
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2200 # so compiler.parser should not be disabled (since
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2201 # compiler is defined)
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2202 config8 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2203 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2204 'disable_existing_loggers' : False,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2205 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2206 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2207 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2208 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2209 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2210 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2211 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2212 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2213 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2214 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2215 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2216 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2217 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2218 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2219 'compiler' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2220 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2221 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2222 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2223 'compiler.lexer' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2224 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2225 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2226 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2227 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2228 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2229 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2230
68319
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2231 # config8a disables existing loggers
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2232 config8a = {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2233 'version': 1,
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2234 'disable_existing_loggers' : True,
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2235 'formatters': {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2236 'form1' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2237 'format' : '%(levelname)s ++ %(message)s',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2238 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2239 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2240 'handlers' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2241 'hand1' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2242 'class' : 'logging.StreamHandler',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2243 'formatter' : 'form1',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2244 'level' : 'NOTSET',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2245 'stream' : 'ext://sys.stdout',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2246 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2247 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2248 'loggers' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2249 'compiler' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2250 'level' : 'DEBUG',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2251 'handlers' : ['hand1'],
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2252 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2253 'compiler.lexer' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2254 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2255 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2256 'root' : {
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2257 'level' : 'WARNING',
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2258 },
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2259 }
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2260
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2261 config9 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2262 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2263 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2264 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2265 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2266 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2267 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2268 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2269 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2270 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2271 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2272 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2273 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2274 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2275 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2276 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2277 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2278 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2279 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2280 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2281 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2282 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2283 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2284 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2285 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2286
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2287 config9a = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2288 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2289 'incremental' : True,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2290 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2291 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2292 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2293 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2294 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2295 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2296 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2297 'level' : 'INFO',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2298 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2299 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2300 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2301
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2302 config9b = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2303 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2304 'incremental' : True,
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2305 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2306 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2307 'level' : 'INFO',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2308 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2309 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2310 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2311 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2312 'level' : 'INFO',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2313 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2314 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2315 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2316
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2317 #As config1 but with a filter added
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2318 config10 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2319 'version': 1,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2320 'formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2321 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2322 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2323 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2324 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2325 'filters' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2326 'filt1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2327 'name' : 'compiler.parser',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2328 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2329 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2330 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2331 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2332 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2333 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2334 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2335 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2336 'filters' : ['filt1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2337 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2338 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2339 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2340 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2341 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2342 'filters' : ['filt1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2343 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2344 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2345 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2346 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2347 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2348 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2349 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2350
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2351 #As config1 but using cfg:// references
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2352 config11 = {
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2353 'version': 1,
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2354 'true_formatters': {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2355 'form1' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2356 'format' : '%(levelname)s ++ %(message)s',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2357 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2358 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2359 'handler_configs': {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2360 'hand1' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2361 'class' : 'logging.StreamHandler',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2362 'formatter' : 'form1',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2363 'level' : 'NOTSET',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2364 'stream' : 'ext://sys.stdout',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2365 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2366 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2367 'formatters' : 'cfg://true_formatters',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2368 'handlers' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2369 'hand1' : 'cfg://handler_configs[hand1]',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2370 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2371 'loggers' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2372 'compiler.parser' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2373 'level' : 'DEBUG',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2374 'handlers' : ['hand1'],
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2375 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2376 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2377 'root' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2378 'level' : 'WARNING',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2379 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2380 }
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2381
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2382 #As config11 but missing the version key
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2383 config12 = {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2384 'true_formatters': {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2385 'form1' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2386 'format' : '%(levelname)s ++ %(message)s',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2387 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2388 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2389 'handler_configs': {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2390 'hand1' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2391 'class' : 'logging.StreamHandler',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2392 'formatter' : 'form1',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2393 'level' : 'NOTSET',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2394 'stream' : 'ext://sys.stdout',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2395 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2396 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2397 'formatters' : 'cfg://true_formatters',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2398 'handlers' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2399 'hand1' : 'cfg://handler_configs[hand1]',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2400 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2401 'loggers' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2402 'compiler.parser' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2403 'level' : 'DEBUG',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2404 'handlers' : ['hand1'],
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2405 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2406 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2407 'root' : {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2408 'level' : 'WARNING',
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2409 },
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2410 }
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2411
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2412 #As config11 but using an unsupported version
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2413 config13 = {
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2414 'version': 2,
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2415 'true_formatters': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2416 'form1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2417 'format' : '%(levelname)s ++ %(message)s',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2418 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2419 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2420 'handler_configs': {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2421 'hand1' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2422 'class' : 'logging.StreamHandler',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2423 'formatter' : 'form1',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2424 'level' : 'NOTSET',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2425 'stream' : 'ext://sys.stdout',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2426 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2427 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2428 'formatters' : 'cfg://true_formatters',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2429 'handlers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2430 'hand1' : 'cfg://handler_configs[hand1]',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2431 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2432 'loggers' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2433 'compiler.parser' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2434 'level' : 'DEBUG',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2435 'handlers' : ['hand1'],
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2436 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2437 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2438 'root' : {
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2439 'level' : 'WARNING',
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2440 },
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2441 }
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2442
80440
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2443 # As config0, but with properties
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2444 config14 = {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2445 'version': 1,
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2446 'formatters': {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2447 'form1' : {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2448 'format' : '%(levelname)s ++ %(message)s',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2449 },
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2450 },
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2451 'handlers' : {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2452 'hand1' : {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2453 'class' : 'logging.StreamHandler',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2454 'formatter' : 'form1',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2455 'level' : 'NOTSET',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2456 'stream' : 'ext://sys.stdout',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2457 '.': {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2458 'foo': 'bar',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2459 'terminator': '!\n',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2460 }
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2461 },
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2462 },
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2463 'root' : {
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2464 'level' : 'WARNING',
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2465 'handlers' : ['hand1'],
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2466 },
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2467 }
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2468
82882
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2469 out_of_order = {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2470 "version": 1,
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2471 "formatters": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2472 "mySimpleFormatter": {
83002
d6fe31ce789d Issue #17540: Added style to Formatter configuration by dict.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82898
diff changeset
2473 "format": "%(asctime)s (%(name)s) %(levelname)s: %(message)s",
d6fe31ce789d Issue #17540: Added style to Formatter configuration by dict.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82898
diff changeset
2474 "style": "$"
82882
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2475 }
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2476 },
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2477 "handlers": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2478 "fileGlobal": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2479 "class": "logging.StreamHandler",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2480 "level": "DEBUG",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2481 "formatter": "mySimpleFormatter"
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2482 },
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2483 "bufferGlobal": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2484 "class": "logging.handlers.MemoryHandler",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2485 "capacity": 5,
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2486 "formatter": "mySimpleFormatter",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2487 "target": "fileGlobal",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2488 "level": "DEBUG"
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2489 }
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2490 },
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2491 "loggers": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2492 "mymodule": {
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2493 "level": "DEBUG",
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2494 "handlers": ["bufferGlobal"],
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2495 "propagate": "true"
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2496 }
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2497 }
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2498 }
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2499
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2500 def apply_config(self, conf):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2501 logging.config.dictConfig(conf)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2502
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2503 def test_config0_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2504 # A simple config which overrides the default settings.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2505 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2506 self.apply_config(self.config0)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2507 logger = logging.getLogger()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2508 # Won't output anything
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2509 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2510 # Outputs a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2511 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2512 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2513 ('ERROR', '2'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2514 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2515 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2516 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2517
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2518 def test_config1_ok(self, config=config1):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2519 # A config defining a sub-parser as well.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2520 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2521 self.apply_config(config)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2522 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2523 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2524 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2525 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2526 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2527 ('INFO', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2528 ('ERROR', '2'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2529 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2530 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2531 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2532
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2533 def test_config2_failure(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2534 # A simple config which overrides the default settings.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2535 self.assertRaises(Exception, self.apply_config, self.config2)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2536
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2537 def test_config2a_failure(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2538 # A simple config which overrides the default settings.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2539 self.assertRaises(Exception, self.apply_config, self.config2a)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2540
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2541 def test_config2b_failure(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2542 # A simple config which overrides the default settings.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2543 self.assertRaises(Exception, self.apply_config, self.config2b)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2544
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2545 def test_config3_failure(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2546 # A simple config which overrides the default settings.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2547 self.assertRaises(Exception, self.apply_config, self.config3)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2548
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2549 def test_config4_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2550 # A config specifying a custom formatter class.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2551 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2552 self.apply_config(self.config4)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2553 #logger = logging.getLogger()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2554 try:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2555 raise RuntimeError()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2556 except RuntimeError:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2557 logging.exception("just testing")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2558 sys.stdout.seek(0)
66310
9fe76c26ea9f #9424: Replace deprecated assert* methods in the Python test suite.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 65757
diff changeset
2559 self.assertEqual(output.getvalue(),
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2560 "ERROR:root:just testing\nGot a [RuntimeError]\n")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2561 # Original logger output is empty
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2562 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2563
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2564 def test_config4a_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2565 # A config specifying a custom formatter class.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2566 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2567 self.apply_config(self.config4a)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2568 #logger = logging.getLogger()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2569 try:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2570 raise RuntimeError()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2571 except RuntimeError:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2572 logging.exception("just testing")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2573 sys.stdout.seek(0)
66310
9fe76c26ea9f #9424: Replace deprecated assert* methods in the Python test suite.
Ezio Melotti <ezio.melotti@gmail.com>
parents: 65757
diff changeset
2574 self.assertEqual(output.getvalue(),
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2575 "ERROR:root:just testing\nGot a [RuntimeError]\n")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2576 # Original logger output is empty
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2577 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2578
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2579 def test_config5_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2580 self.test_config1_ok(config=self.config5)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2581
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2582 def test_config6_failure(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2583 self.assertRaises(Exception, self.apply_config, self.config6)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2584
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2585 def test_config7_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2586 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2587 self.apply_config(self.config1)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2588 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2589 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2590 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2591 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2592 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2593 ('INFO', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2594 ('ERROR', '2'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2595 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2596 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2597 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2598 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2599 self.apply_config(self.config7)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2600 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2601 self.assertTrue(logger.disabled)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2602 logger = logging.getLogger("compiler.lexer")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2603 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2604 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2605 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2606 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2607 ('INFO', '3'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2608 ('ERROR', '4'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2609 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2610 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2611 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2612
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2613 #Same as test_config_7_ok but don't disable old loggers.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2614 def test_config_8_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2615 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2616 self.apply_config(self.config1)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2617 logger = logging.getLogger("compiler.parser")
68319
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2618 # All will output a message
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2619 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2620 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2621 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2622 ('INFO', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2623 ('ERROR', '2'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2624 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2625 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2626 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2627 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2628 self.apply_config(self.config8)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2629 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2630 self.assertFalse(logger.disabled)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2631 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2632 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2633 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2634 logger = logging.getLogger("compiler.lexer")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2635 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2636 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2637 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2638 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2639 ('INFO', '3'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2640 ('ERROR', '4'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2641 ('INFO', '5'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2642 ('ERROR', '6'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2643 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2644 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2645 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2646
68319
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2647 def test_config_8a_ok(self):
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2648 with captured_stdout() as output:
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2649 self.apply_config(self.config1a)
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2650 logger = logging.getLogger("compiler.parser")
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2651 # See issue #11424. compiler-hyphenated sorts
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2652 # between compiler and compiler.xyz and this
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2653 # was preventing compiler.xyz from being included
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2654 # in the child loggers of compiler because of an
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2655 # overzealous loop termination condition.
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2656 hyphenated = logging.getLogger('compiler-hyphenated')
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2657 # All will output a message
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2658 logger.info(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2659 logger.error(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2660 hyphenated.critical(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2661 self.assert_log_lines([
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2662 ('INFO', '1'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2663 ('ERROR', '2'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2664 ('CRITICAL', '3'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2665 ], stream=output)
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2666 # Original logger output is empty.
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2667 self.assert_log_lines([])
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2668 with captured_stdout() as output:
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2669 self.apply_config(self.config8a)
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2670 logger = logging.getLogger("compiler.parser")
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2671 self.assertFalse(logger.disabled)
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2672 # Both will output a message
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2673 logger.info(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2674 logger.error(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2675 logger = logging.getLogger("compiler.lexer")
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2676 # Both will output a message
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2677 logger.info(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2678 logger.error(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2679 # Will not appear
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2680 hyphenated.critical(self.next_message())
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2681 self.assert_log_lines([
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2682 ('INFO', '4'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2683 ('ERROR', '5'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2684 ('INFO', '6'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2685 ('ERROR', '7'),
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2686 ], stream=output)
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2687 # Original logger output is empty.
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2688 self.assert_log_lines([])
27bf21522742 #Issue 11424: added equivalent fixes for dictConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68318
diff changeset
2689
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2690 def test_config_9_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2691 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2692 self.apply_config(self.config9)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2693 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2694 #Nothing will be output since both handler and logger are set to WARNING
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2695 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2696 self.assert_log_lines([], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2697 self.apply_config(self.config9a)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2698 #Nothing will be output since both handler is still set to WARNING
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2699 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2700 self.assert_log_lines([], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2701 self.apply_config(self.config9b)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2702 #Message should now be output
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2703 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2704 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2705 ('INFO', '3'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2706 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2707
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2708 def test_config_10_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2709 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2710 self.apply_config(self.config10)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2711 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2712 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2713 logger = logging.getLogger('compiler')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2714 #Not output, because filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2715 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2716 logger = logging.getLogger('compiler.lexer')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2717 #Not output, because filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2718 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2719 logger = logging.getLogger("compiler.parser.codegen")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2720 #Output, as not filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2721 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2722 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2723 ('WARNING', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2724 ('ERROR', '4'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2725 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2726
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2727 def test_config11_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2728 self.test_config1_ok(self.config11)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2729
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2730 def test_config12_failure(self):
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2731 self.assertRaises(Exception, self.apply_config, self.config12)
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2732
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2733 def test_config13_failure(self):
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2734 self.assertRaises(Exception, self.apply_config, self.config13)
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2735
80440
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2736 def test_config14_ok(self):
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2737 with captured_stdout() as output:
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2738 self.apply_config(self.config14)
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2739 h = logging._handlers['hand1']
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2740 self.assertEqual(h.foo, 'bar')
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2741 self.assertEqual(h.terminator, '!\n')
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2742 logging.warning('Exclamation')
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2743 self.assertTrue(output.getvalue().endswith('Exclamation!\n'))
a81ae412174a Allow configuration of handler properties.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 79874
diff changeset
2744
61073
493bb4585e38 Merged revisions 80552-80556,80564-80566,80568-80571 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents: 60506
diff changeset
2745 @unittest.skipUnless(threading, 'listen() needs threading to work')
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2746 def setup_via_listener(self, text, verify=None):
59600
9696932ad827 Merged revisions 77967,77969,77973,77979,77985-77986,78009,78029,78031-78033,78081,78085,78103,78105-78106,78108,78246,78703,78728,78731,78853,78855 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59522
diff changeset
2747 text = text.encode("utf-8")
64051
b09f93fe29fb Replace the deprecated ConfigParser.readfp() method, and fix the incomplete merge in r82293.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 62561
diff changeset
2748 # Ask for a randomly assigned port (by using port 0)
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2749 t = logging.config.listen(0, verify)
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2750 t.start()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2751 t.ready.wait()
62561
358d86a572fb Merged revisions 80712,81651 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 61073
diff changeset
2752 # Now get the port allocated
358d86a572fb Merged revisions 80712,81651 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 61073
diff changeset
2753 port = t.port
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2754 t.ready.clear()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2755 try:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2756 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2757 sock.settimeout(2.0)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2758 sock.connect(('localhost', port))
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2759
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2760 slen = struct.pack('>L', len(text))
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2761 s = slen + text
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2762 sentsofar = 0
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2763 left = len(s)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2764 while left > 0:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2765 sent = sock.send(s[sentsofar:])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2766 sentsofar += sent
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2767 left -= sent
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2768 sock.close()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2769 finally:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2770 t.ready.wait(2.0)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2771 logging.config.stopListening()
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2772 t.join(2.0)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2773
70170
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
2774 @unittest.skipUnless(threading, 'Threading required for this test.')
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2775 def test_listen_config_10_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2776 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2777 self.setup_via_listener(json.dumps(self.config10))
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2778 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2779 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2780 logger = logging.getLogger('compiler')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2781 #Not output, because filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2782 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2783 logger = logging.getLogger('compiler.lexer')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2784 #Not output, because filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2785 logger.warning(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2786 logger = logging.getLogger("compiler.parser.codegen")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2787 #Output, as not filtered
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2788 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2789 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2790 ('WARNING', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2791 ('ERROR', '4'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2792 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2793
70170
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
2794 @unittest.skipUnless(threading, 'Threading required for this test.')
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2795 def test_listen_config_1_ok(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2796 with captured_stdout() as output:
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2797 self.setup_via_listener(textwrap.dedent(ConfigFileTest.config1))
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2798 logger = logging.getLogger("compiler.parser")
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2799 # Both will output a message
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2800 logger.info(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2801 logger.error(self.next_message())
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2802 self.assert_log_lines([
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2803 ('INFO', '1'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2804 ('ERROR', '2'),
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2805 ], stream=output)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2806 # Original logger output is empty.
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2807 self.assert_log_lines([])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2808
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2809 @unittest.skipUnless(threading, 'Threading required for this test.')
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2810 def test_listen_verify(self):
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2811
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2812 def verify_fail(stuff):
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2813 return None
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2814
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2815 def verify_reverse(stuff):
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2816 return stuff[::-1]
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2817
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2818 logger = logging.getLogger("compiler.parser")
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2819 to_send = textwrap.dedent(ConfigFileTest.config1)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2820 # First, specify a verification function that will fail.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2821 # We expect to see no output, since our configuration
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2822 # never took effect.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2823 with captured_stdout() as output:
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2824 self.setup_via_listener(to_send, verify_fail)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2825 # Both will output a message
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2826 logger.info(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2827 logger.error(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2828 self.assert_log_lines([], stream=output)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2829 # Original logger output has the stuff we logged.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2830 self.assert_log_lines([
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2831 ('INFO', '1'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2832 ('ERROR', '2'),
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
2833 ], pat=r"^[\w.]+ -> (\w+): (\d+)$")
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2834
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2835 # Now, perform no verification. Our configuration
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2836 # should take effect.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2837
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2838 with captured_stdout() as output:
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2839 self.setup_via_listener(to_send) # no verify callable specified
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2840 logger = logging.getLogger("compiler.parser")
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2841 # Both will output a message
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2842 logger.info(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2843 logger.error(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2844 self.assert_log_lines([
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2845 ('INFO', '3'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2846 ('ERROR', '4'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2847 ], stream=output)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2848 # Original logger output still has the stuff we logged before.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2849 self.assert_log_lines([
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2850 ('INFO', '1'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2851 ('ERROR', '2'),
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
2852 ], pat=r"^[\w.]+ -> (\w+): (\d+)$")
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2853
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2854 # Now, perform verification which transforms the bytes.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2855
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2856 with captured_stdout() as output:
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2857 self.setup_via_listener(to_send[::-1], verify_reverse)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2858 logger = logging.getLogger("compiler.parser")
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2859 # Both will output a message
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2860 logger.info(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2861 logger.error(self.next_message())
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2862 self.assert_log_lines([
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2863 ('INFO', '5'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2864 ('ERROR', '6'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2865 ], stream=output)
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2866 # Original logger output still has the stuff we logged before.
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2867 self.assert_log_lines([
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2868 ('INFO', '1'),
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2869 ('ERROR', '2'),
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
2870 ], pat=r"^[\w.]+ -> (\w+): (\d+)$")
79407
26c3d170fd56 Issue #15452: Added verify option for logging configuration socket listener.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77939
diff changeset
2871
82882
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2872 def test_out_of_order(self):
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2873 self.apply_config(self.out_of_order)
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2874 handler = logging.getLogger('mymodule').handlers[0]
ea00ae184d60 Issue #17508: Handled out-of-order handler configuration correctly.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 80591
diff changeset
2875 self.assertIsInstance(handler.target, logging.Handler)
83002
d6fe31ce789d Issue #17540: Added style to Formatter configuration by dict.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82898
diff changeset
2876 self.assertIsInstance(handler.formatter._style,
d6fe31ce789d Issue #17540: Added style to Formatter configuration by dict.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82898
diff changeset
2877 logging.StringTemplateStyle)
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2878
69577
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2879 def test_baseconfig(self):
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2880 d = {
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2881 'atuple': (1, 2, 3),
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2882 'alist': ['a', 'b', 'c'],
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2883 'adict': {'d': 'e', 'f': 3 },
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2884 'nest1': ('g', ('h', 'i'), 'j'),
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2885 'nest2': ['k', ['l', 'm'], 'n'],
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2886 'nest3': ['o', 'cfg://alist', 'p'],
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2887 }
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2888 bc = logging.config.BaseConfigurator(d)
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2889 self.assertEqual(bc.convert('cfg://atuple[1]'), 2)
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2890 self.assertEqual(bc.convert('cfg://alist[1]'), 'b')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2891 self.assertEqual(bc.convert('cfg://nest1[1][0]'), 'h')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2892 self.assertEqual(bc.convert('cfg://nest2[1][1]'), 'm')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2893 self.assertEqual(bc.convert('cfg://adict.d'), 'e')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2894 self.assertEqual(bc.convert('cfg://adict[f]'), 3)
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2895 v = bc.convert('cfg://nest3')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2896 self.assertEqual(v.pop(1), ['a', 'b', 'c'])
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2897 self.assertRaises(KeyError, bc.convert, 'cfg://nosuch')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2898 self.assertRaises(ValueError, bc.convert, 'cfg://!')
edc9de09d276 Yet more test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69576
diff changeset
2899 self.assertRaises(KeyError, bc.convert, 'cfg://adict[2]')
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2900
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2901 class ManagerTest(BaseTest):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2902 def test_manager_loggerclass(self):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2903 logged = []
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2904
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2905 class MyLogger(logging.Logger):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2906 def _log(self, level, msg, args, exc_info=None, extra=None):
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2907 logged.append(msg)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2908
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2909 man = logging.Manager(None)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2910 self.assertRaises(TypeError, man.setLoggerClass, int)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2911 man.setLoggerClass(MyLogger)
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2912 logger = man.getLogger('test')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2913 logger.warning('should appear in logged')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2914 logging.warning('should not appear in logged')
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2915
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2916 self.assertEqual(logged, ['should appear in logged'])
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2917
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
2918 def test_set_log_record_factory(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
2919 man = logging.Manager(None)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
2920 expected = object()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
2921 man.setLogRecordFactory(expected)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
2922 self.assertEqual(man.logRecordFactory, expected)
59142
e1bc0022b23b Merged revisions 77967,77969,78033,78055,78081,78085,78108 via svnmerge from
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 58218
diff changeset
2923
60506
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2924 class ChildLoggerTest(BaseTest):
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2925 def test_child_loggers(self):
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2926 r = logging.getLogger()
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2927 l1 = logging.getLogger('abc')
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2928 l2 = logging.getLogger('def.ghi')
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2929 c1 = r.getChild('xyz')
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2930 c2 = r.getChild('uvw.xyz')
79787
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
2931 self.assertIs(c1, logging.getLogger('xyz'))
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
2932 self.assertIs(c2, logging.getLogger('uvw.xyz'))
60506
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2933 c1 = l1.getChild('def')
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2934 c2 = c1.getChild('ghi')
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2935 c3 = l1.getChild('def.ghi')
79787
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
2936 self.assertIs(c1, logging.getLogger('abc.def'))
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
2937 self.assertIs(c2, logging.getLogger('abc.def.ghi'))
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
2938 self.assertIs(c2, c3)
60506
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2939
66ad267a73bf Merged revisions 79279,79284,79293,79373,79376,79379,79876,79888 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 59600
diff changeset
2940
65546
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2941 class DerivedLogRecord(logging.LogRecord):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2942 pass
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2943
66638
81f4d1fdf573 logging: Added getLogRecordFactory/setLogRecordFactory with docs and tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66310
diff changeset
2944 class LogRecordFactoryTest(BaseTest):
65546
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2945
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2946 def setUp(self):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2947 class CheckingFilter(logging.Filter):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2948 def __init__(self, cls):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2949 self.cls = cls
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2950
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2951 def filter(self, record):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2952 t = type(record)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2953 if t is not self.cls:
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2954 msg = 'Unexpected LogRecord type %s, expected %s' % (t,
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2955 self.cls)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2956 raise TypeError(msg)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2957 return True
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2958
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2959 BaseTest.setUp(self)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2960 self.filter = CheckingFilter(DerivedLogRecord)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2961 self.root_logger.addFilter(self.filter)
66638
81f4d1fdf573 logging: Added getLogRecordFactory/setLogRecordFactory with docs and tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66310
diff changeset
2962 self.orig_factory = logging.getLogRecordFactory()
65546
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2963
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2964 def tearDown(self):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2965 self.root_logger.removeFilter(self.filter)
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2966 BaseTest.tearDown(self)
66638
81f4d1fdf573 logging: Added getLogRecordFactory/setLogRecordFactory with docs and tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66310
diff changeset
2967 logging.setLogRecordFactory(self.orig_factory)
65546
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2968
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2969 def test_logrecord_class(self):
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2970 self.assertRaises(TypeError, self.root_logger.warning,
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2971 self.next_message())
66638
81f4d1fdf573 logging: Added getLogRecordFactory/setLogRecordFactory with docs and tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66310
diff changeset
2972 logging.setLogRecordFactory(DerivedLogRecord)
65546
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2973 self.root_logger.error(self.next_message())
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2974 self.assert_log_lines([
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2975 ('root', 'ERROR', '2'),
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2976 ])
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2977
c47ef180be39 logging: Added tests for _logRecordClass changes.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64866
diff changeset
2978
64730
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2979 class QueueHandlerTest(BaseTest):
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2980 # Do not bother with a logger name group.
79414
0b650272f58f Remove unnecessary [].
Ezio Melotti <ezio.melotti@gmail.com>
parents: 79407
diff changeset
2981 expected_log_pat = r"^[\w.]+ -> (\w+): (\d+)$"
64730
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2982
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2983 def setUp(self):
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2984 BaseTest.setUp(self)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2985 self.queue = queue.Queue(-1)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2986 self.que_hdlr = logging.handlers.QueueHandler(self.queue)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2987 self.que_logger = logging.getLogger('que')
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2988 self.que_logger.propagate = False
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2989 self.que_logger.setLevel(logging.WARNING)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2990 self.que_logger.addHandler(self.que_hdlr)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2991
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2992 def tearDown(self):
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2993 self.que_hdlr.close()
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2994 BaseTest.tearDown(self)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2995
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2996 def test_queue_handler(self):
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2997 self.que_logger.debug(self.next_message())
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2998 self.assertRaises(queue.Empty, self.queue.get_nowait)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
2999 self.que_logger.info(self.next_message())
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3000 self.assertRaises(queue.Empty, self.queue.get_nowait)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3001 msg = self.next_message()
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3002 self.que_logger.warning(msg)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3003 data = self.queue.get_nowait()
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3004 self.assertTrue(isinstance(data, logging.LogRecord))
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3005 self.assertEqual(data.name, self.que_logger.name)
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3006 self.assertEqual((data.msg, data.args), (msg, None))
69ed5ecb5026 Added test for QueueHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64051
diff changeset
3007
69781
728e573d7816 logging: don't define QueueListener if Python has no thread support
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69382
diff changeset
3008 @unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),
728e573d7816 logging: don't define QueueListener if Python has no thread support
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69382
diff changeset
3009 'logging.handlers.QueueListener required for this test')
69382
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3010 def test_queue_listener(self):
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3011 handler = TestHandler(Matcher())
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3012 listener = logging.handlers.QueueListener(self.queue, handler)
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3013 listener.start()
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3014 try:
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3015 self.que_logger.warning(self.next_message())
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3016 self.que_logger.error(self.next_message())
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3017 self.que_logger.critical(self.next_message())
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3018 finally:
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3019 listener.stop()
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3020 self.assertTrue(handler.matches(levelno=logging.WARNING, message='1'))
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3021 self.assertTrue(handler.matches(levelno=logging.ERROR, message='2'))
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3022 self.assertTrue(handler.matches(levelno=logging.CRITICAL, message='3'))
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3023
69578
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3024 ZERO = datetime.timedelta(0)
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3025
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3026 class UTC(datetime.tzinfo):
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3027 def utcoffset(self, dt):
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3028 return ZERO
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3029
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3030 dst = utcoffset
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3031
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3032 def tzname(self, dt):
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3033 return 'UTC'
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3034
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3035 utc = UTC()
69382
3b700e6704b3 Issue #11852: Add missing imports and update tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68319
diff changeset
3036
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3037 class FormatterTest(unittest.TestCase):
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3038 def setUp(self):
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3039 self.common = {
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3040 'name': 'formatter.test',
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3041 'level': logging.DEBUG,
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3042 'pathname': os.path.join('path', 'to', 'dummy.ext'),
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3043 'lineno': 42,
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3044 'exc_info': None,
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3045 'func': None,
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3046 'msg': 'Message with %d %s',
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3047 'args': (2, 'placeholders'),
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3048 }
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3049 self.variants = {
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3050 }
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3051
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3052 def get_record(self, name=None):
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3053 result = dict(self.common)
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3054 if name is not None:
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3055 result.update(self.variants[name])
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3056 return logging.makeLogRecord(result)
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3057
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3058 def test_percent(self):
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3059 # Test %-formatting
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3060 r = self.get_record()
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3061 f = logging.Formatter('${%(message)s}')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3062 self.assertEqual(f.format(r), '${Message with 2 placeholders}')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3063 f = logging.Formatter('%(random)s')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3064 self.assertRaises(KeyError, f.format, r)
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3065 self.assertFalse(f.usesTime())
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3066 f = logging.Formatter('%(asctime)s')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3067 self.assertTrue(f.usesTime())
68042
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3068 f = logging.Formatter('%(asctime)-15s')
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3069 self.assertTrue(f.usesTime())
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3070 f = logging.Formatter('asctime')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3071 self.assertFalse(f.usesTime())
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3072
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3073 def test_braces(self):
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3074 # Test {}-formatting
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3075 r = self.get_record()
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3076 f = logging.Formatter('$%{message}%$', style='{')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3077 self.assertEqual(f.format(r), '$%Message with 2 placeholders%$')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3078 f = logging.Formatter('{random}', style='{')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3079 self.assertRaises(KeyError, f.format, r)
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3080 self.assertFalse(f.usesTime())
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3081 f = logging.Formatter('{asctime}', style='{')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3082 self.assertTrue(f.usesTime())
68042
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3083 f = logging.Formatter('{asctime!s:15}', style='{')
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3084 self.assertTrue(f.usesTime())
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3085 f = logging.Formatter('{asctime:15}', style='{')
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3086 self.assertTrue(f.usesTime())
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3087 f = logging.Formatter('asctime', style='{')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3088 self.assertFalse(f.usesTime())
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3089
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3090 def test_dollars(self):
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3091 # Test $-formatting
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3092 r = self.get_record()
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3093 f = logging.Formatter('$message', style='$')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3094 self.assertEqual(f.format(r), 'Message with 2 placeholders')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3095 f = logging.Formatter('$$%${message}%$$', style='$')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3096 self.assertEqual(f.format(r), '$%Message with 2 placeholders%$')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3097 f = logging.Formatter('${random}', style='$')
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3098 self.assertRaises(KeyError, f.format, r)
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3099 self.assertFalse(f.usesTime())
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3100 f = logging.Formatter('${asctime}', style='$')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3101 self.assertTrue(f.usesTime())
68042
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3102 f = logging.Formatter('${asctime', style='$')
979da8f139dd Issue #11330: Updated tests for correct asctime handling.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68041
diff changeset
3103 self.assertFalse(f.usesTime())
65647
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3104 f = logging.Formatter('$asctime', style='$')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3105 self.assertTrue(f.usesTime())
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3106 f = logging.Formatter('asctime', style='$')
841892e271f7 logging: Improved Formatter implementation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65634
diff changeset
3107 self.assertFalse(f.usesTime())
65634
3a9c3ec5e9d2 logging: Added style option to Formatter to allow %, {} or himBHformatting.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65547
diff changeset
3108
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3109 def test_invalid_style(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3110 self.assertRaises(ValueError, logging.Formatter, None, None, 'x')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3111
69592
e3ac9fd27525 Re-enabled time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69579
diff changeset
3112 def test_time(self):
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3113 r = self.get_record()
77939
56260d30985d Closes #14902: Fixed timezone conversion of a date/time in the past. Thanks to Yuriy Syrovetskiy for the report and Juancarlo Añez for the patch on which this fix is based.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77255
diff changeset
3114 dt = datetime.datetime(1993, 4, 21, 8, 3, 0, 0, utc)
56260d30985d Closes #14902: Fixed timezone conversion of a date/time in the past. Thanks to Yuriy Syrovetskiy for the report and Juancarlo Añez for the patch on which this fix is based.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77255
diff changeset
3115 # We use None to indicate we want the local timezone
56260d30985d Closes #14902: Fixed timezone conversion of a date/time in the past. Thanks to Yuriy Syrovetskiy for the report and Juancarlo Añez for the patch on which this fix is based.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77255
diff changeset
3116 # We're essentially converting a UTC time to local time
56260d30985d Closes #14902: Fixed timezone conversion of a date/time in the past. Thanks to Yuriy Syrovetskiy for the report and Juancarlo Añez for the patch on which this fix is based.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77255
diff changeset
3117 r.created = time.mktime(dt.astimezone(None).timetuple())
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3118 r.msecs = 123
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3119 f = logging.Formatter('%(asctime)s %(message)s')
69578
5185e1d91f3d Refined time test in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69577
diff changeset
3120 f.converter = time.gmtime
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3121 self.assertEqual(f.formatTime(r), '1993-04-21 08:03:00,123')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3122 self.assertEqual(f.formatTime(r, '%Y:%d'), '1993:21')
69576
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3123 f.format(r)
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3124 self.assertEqual(r.asctime, '1993-04-21 08:03:00,123')
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3125
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3126 class TestBufferingFormatter(logging.BufferingFormatter):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3127 def formatHeader(self, records):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3128 return '[(%d)' % len(records)
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3129
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3130 def formatFooter(self, records):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3131 return '(%d)]' % len(records)
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3132
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3133 class BufferingFormatterTest(unittest.TestCase):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3134 def setUp(self):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3135 self.records = [
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3136 logging.makeLogRecord({'msg': 'one'}),
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3137 logging.makeLogRecord({'msg': 'two'}),
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3138 ]
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3139
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3140 def test_default(self):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3141 f = logging.BufferingFormatter()
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3142 self.assertEqual('', f.format([]))
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3143 self.assertEqual('onetwo', f.format(self.records))
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3144
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3145 def test_custom(self):
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3146 f = TestBufferingFormatter()
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3147 self.assertEqual('[(2)onetwo(2)]', f.format(self.records))
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3148 lf = logging.Formatter('<%(message)s>')
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3149 f = TestBufferingFormatter(lf)
6a86a2b2f3db More test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69575
diff changeset
3150 self.assertEqual('[(2)<one><two>(2)]', f.format(self.records))
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3151
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3152 class ExceptionTest(BaseTest):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3153 def test_formatting(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3154 r = self.root_logger
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3155 h = RecordingHandler()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3156 r.addHandler(h)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3157 try:
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3158 raise RuntimeError('deliberate mistake')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3159 except:
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3160 logging.exception('failed', stack_info=True)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3161 r.removeHandler(h)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3162 h.close()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3163 r = h.records[0]
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3164 self.assertTrue(r.exc_text.startswith('Traceback (most recent '
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3165 'call last):\n'))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3166 self.assertTrue(r.exc_text.endswith('\nRuntimeError: '
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3167 'deliberate mistake'))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3168 self.assertTrue(r.stack_info.startswith('Stack (most recent '
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3169 'call last):\n'))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3170 self.assertTrue(r.stack_info.endswith('logging.exception(\'failed\', '
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3171 'stack_info=True)'))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3172
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3173
66819
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3174 class LastResortTest(BaseTest):
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3175 def test_last_resort(self):
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3176 # Test the last resort handler
66819
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3177 root = self.root_logger
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3178 root.removeHandler(self.root_hdlr)
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3179 old_stderr = sys.stderr
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3180 old_lastresort = logging.lastResort
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3181 old_raise_exceptions = logging.raiseExceptions
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3182 try:
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3183 sys.stderr = sio = io.StringIO()
71501
de13ce98ca3b Fixes #12637: Merged fix from 3.2 and added test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 71015
diff changeset
3184 root.debug('This should not appear')
de13ce98ca3b Fixes #12637: Merged fix from 3.2 and added test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 71015
diff changeset
3185 self.assertEqual(sio.getvalue(), '')
66819
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3186 root.warning('This is your final chance!')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3187 self.assertEqual(sio.getvalue(), 'This is your final chance!\n')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3188 #No handlers and no last resort, so 'No handlers' message
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3189 logging.lastResort = None
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3190 sys.stderr = sio = io.StringIO()
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3191 root.warning('This is your final chance!')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3192 self.assertEqual(sio.getvalue(), 'No handlers could be found for logger "root"\n')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3193 # 'No handlers' message only printed once
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3194 sys.stderr = sio = io.StringIO()
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3195 root.warning('This is your final chance!')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3196 self.assertEqual(sio.getvalue(), '')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3197 root.manager.emittedNoHandlerWarning = False
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3198 #If raiseExceptions is False, no message is printed
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3199 logging.raiseExceptions = False
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3200 sys.stderr = sio = io.StringIO()
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3201 root.warning('This is your final chance!')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3202 self.assertEqual(sio.getvalue(), '')
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3203 finally:
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3204 sys.stderr = old_stderr
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3205 root.addHandler(self.root_hdlr)
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3206 logging.lastResort = old_lastresort
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3207 logging.raiseExceptions = old_raise_exceptions
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3208
c86dc2bd3ae8 logging: added handler of last resort.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66638
diff changeset
3209
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3210 class FakeHandler:
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3211
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3212 def __init__(self, identifier, called):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3213 for method in ('acquire', 'flush', 'close', 'release'):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3214 setattr(self, method, self.record_call(identifier, method, called))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3215
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3216 def record_call(self, identifier, method_name, called):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3217 def inner():
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3218 called.append('{} - {}'.format(identifier, method_name))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3219 return inner
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3220
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3221
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3222 class RecordingHandler(logging.NullHandler):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3223
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3224 def __init__(self, *args, **kwargs):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3225 super(RecordingHandler, self).__init__(*args, **kwargs)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3226 self.records = []
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3227
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3228 def handle(self, record):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3229 """Keep track of all the emitted records."""
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3230 self.records.append(record)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3231
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3232
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3233 class ShutdownTest(BaseTest):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3234
69470
dd8d999713f4 Tidied comments and docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69469
diff changeset
3235 """Test suite for the shutdown method."""
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3236
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3237 def setUp(self):
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3238 super(ShutdownTest, self).setUp()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3239 self.called = []
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3240
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3241 raise_exceptions = logging.raiseExceptions
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3242 self.addCleanup(setattr, logging, 'raiseExceptions', raise_exceptions)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3243
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3244 def raise_error(self, error):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3245 def inner():
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3246 raise error()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3247 return inner
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3248
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3249 def test_no_failure(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3250 # create some fake handlers
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3251 handler0 = FakeHandler(0, self.called)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3252 handler1 = FakeHandler(1, self.called)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3253 handler2 = FakeHandler(2, self.called)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3254
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3255 # create live weakref to those handlers
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3256 handlers = map(logging.weakref.ref, [handler0, handler1, handler2])
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3257
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3258 logging.shutdown(handlerList=list(handlers))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3259
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3260 expected = ['2 - acquire', '2 - flush', '2 - close', '2 - release',
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3261 '1 - acquire', '1 - flush', '1 - close', '1 - release',
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3262 '0 - acquire', '0 - flush', '0 - close', '0 - release']
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3263 self.assertEqual(expected, self.called)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3264
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3265 def _test_with_failure_in_method(self, method, error):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3266 handler = FakeHandler(0, self.called)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3267 setattr(handler, method, self.raise_error(error))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3268 handlers = [logging.weakref.ref(handler)]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3269
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3270 logging.shutdown(handlerList=list(handlers))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3271
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3272 self.assertEqual('0 - release', self.called[-1])
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3273
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3274 def test_with_ioerror_in_acquire(self):
81039
7d69d04522e3 Replace IOError with OSError (#16715)
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80933
diff changeset
3275 self._test_with_failure_in_method('acquire', OSError)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3276
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3277 def test_with_ioerror_in_flush(self):
81039
7d69d04522e3 Replace IOError with OSError (#16715)
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80933
diff changeset
3278 self._test_with_failure_in_method('flush', OSError)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3279
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3280 def test_with_ioerror_in_close(self):
81039
7d69d04522e3 Replace IOError with OSError (#16715)
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80933
diff changeset
3281 self._test_with_failure_in_method('close', OSError)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3282
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3283 def test_with_valueerror_in_acquire(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3284 self._test_with_failure_in_method('acquire', ValueError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3285
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3286 def test_with_valueerror_in_flush(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3287 self._test_with_failure_in_method('flush', ValueError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3288
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3289 def test_with_valueerror_in_close(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3290 self._test_with_failure_in_method('close', ValueError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3291
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3292 def test_with_other_error_in_acquire_without_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3293 logging.raiseExceptions = False
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3294 self._test_with_failure_in_method('acquire', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3295
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3296 def test_with_other_error_in_flush_without_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3297 logging.raiseExceptions = False
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3298 self._test_with_failure_in_method('flush', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3299
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3300 def test_with_other_error_in_close_without_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3301 logging.raiseExceptions = False
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3302 self._test_with_failure_in_method('close', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3303
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3304 def test_with_other_error_in_acquire_with_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3305 logging.raiseExceptions = True
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3306 self.assertRaises(IndexError, self._test_with_failure_in_method,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3307 'acquire', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3308
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3309 def test_with_other_error_in_flush_with_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3310 logging.raiseExceptions = True
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3311 self.assertRaises(IndexError, self._test_with_failure_in_method,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3312 'flush', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3313
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3314 def test_with_other_error_in_close_with_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3315 logging.raiseExceptions = True
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3316 self.assertRaises(IndexError, self._test_with_failure_in_method,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3317 'close', IndexError)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3318
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3319
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3320 class ModuleLevelMiscTest(BaseTest):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3321
69470
dd8d999713f4 Tidied comments and docstrings.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69469
diff changeset
3322 """Test suite for some module level methods."""
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3323
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3324 def test_disable(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3325 old_disable = logging.root.manager.disable
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3326 # confirm our assumptions are correct
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3327 self.assertEqual(old_disable, 0)
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3328 self.addCleanup(logging.disable, old_disable)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3329
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3330 logging.disable(83)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3331 self.assertEqual(logging.root.manager.disable, 83)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3332
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3333 def _test_log(self, method, level=None):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3334 called = []
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3335 patch(self, logging, 'basicConfig',
69528
fecf9e6d7630 Fixed bug in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69470
diff changeset
3336 lambda *a, **kw: called.append((a, kw)))
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3337
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3338 recording = RecordingHandler()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3339 logging.root.addHandler(recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3340
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3341 log_method = getattr(logging, method)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3342 if level is not None:
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3343 log_method(level, "test me: %r", recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3344 else:
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3345 log_method("test me: %r", recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3346
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3347 self.assertEqual(len(recording.records), 1)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3348 record = recording.records[0]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3349 self.assertEqual(record.getMessage(), "test me: %r" % recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3350
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3351 expected_level = level if level is not None else getattr(logging, method.upper())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3352 self.assertEqual(record.levelno, expected_level)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3353
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3354 # basicConfig was not called!
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3355 self.assertEqual(called, [])
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3356
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3357 def test_log(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3358 self._test_log('log', logging.ERROR)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3359
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3360 def test_debug(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3361 self._test_log('debug')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3362
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3363 def test_info(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3364 self._test_log('info')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3365
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3366 def test_warning(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3367 self._test_log('warning')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3368
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3369 def test_error(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3370 self._test_log('error')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3371
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3372 def test_critical(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3373 self._test_log('critical')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3374
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3375 def test_set_logger_class(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3376 self.assertRaises(TypeError, logging.setLoggerClass, object)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3377
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3378 class MyLogger(logging.Logger):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3379 pass
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3380
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3381 logging.setLoggerClass(MyLogger)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3382 self.assertEqual(logging.getLoggerClass(), MyLogger)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3383
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3384 logging.setLoggerClass(logging.Logger)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3385 self.assertEqual(logging.getLoggerClass(), logging.Logger)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3386
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3387 class LogRecordTest(BaseTest):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3388 def test_str_rep(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3389 r = logging.makeLogRecord({})
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3390 s = str(r)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3391 self.assertTrue(s.startswith('<LogRecord: '))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3392 self.assertTrue(s.endswith('>'))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3393
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3394 def test_dict_arg(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3395 h = RecordingHandler()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3396 r = logging.getLogger()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3397 r.addHandler(h)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3398 d = {'less' : 'more' }
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3399 logging.warning('less is %(less)s', d)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3400 self.assertIs(h.records[0].args, d)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3401 self.assertEqual(h.records[0].message, 'less is more')
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3402 r.removeHandler(h)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3403 h.close()
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3404
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3405 def test_multiprocessing(self):
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3406 r = logging.makeLogRecord({})
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3407 self.assertEqual(r.processName, 'MainProcess')
70170
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3408 try:
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3409 import multiprocessing as mp
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3410 r = logging.makeLogRecord({})
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3411 self.assertEqual(r.processName, mp.current_process().name)
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3412 except ImportError:
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3413 pass
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3414
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3415 def test_optional(self):
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3416 r = logging.makeLogRecord({})
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3417 NOT_NONE = self.assertIsNotNone
70170
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3418 if threading:
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3419 NOT_NONE(r.thread)
4b7c29201c60 Skip some tests in the absence of multiprocessing.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70169
diff changeset
3420 NOT_NONE(r.threadName)
69665
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3421 NOT_NONE(r.process)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3422 NOT_NONE(r.processName)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3423 log_threads = logging.logThreads
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3424 log_processes = logging.logProcesses
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3425 log_multiprocessing = logging.logMultiprocessing
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3426 try:
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3427 logging.logThreads = False
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3428 logging.logProcesses = False
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3429 logging.logMultiprocessing = False
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3430 r = logging.makeLogRecord({})
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3431 NONE = self.assertIsNone
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3432 NONE(r.thread)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3433 NONE(r.threadName)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3434 NONE(r.process)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3435 NONE(r.processName)
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3436 finally:
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3437 logging.logThreads = log_threads
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3438 logging.logProcesses = log_processes
b452559eee71 Improved test_logging coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69595
diff changeset
3439 logging.logMultiprocessing = log_multiprocessing
76544
5de7c3d64f2a Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73419
diff changeset
3440
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3441 class BasicConfigTest(unittest.TestCase):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3442
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3443 """Test suite for logging.basicConfig."""
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3444
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3445 def setUp(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3446 super(BasicConfigTest, self).setUp()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3447 self.handlers = logging.root.handlers
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3448 self.saved_handlers = logging._handlers.copy()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3449 self.saved_handler_list = logging._handlerList[:]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3450 self.original_logging_level = logging.root.level
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3451 self.addCleanup(self.cleanup)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3452 logging.root.handlers = []
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3453
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3454 def tearDown(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3455 for h in logging.root.handlers[:]:
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3456 logging.root.removeHandler(h)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3457 h.close()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3458 super(BasicConfigTest, self).tearDown()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3459
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3460 def cleanup(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3461 setattr(logging.root, 'handlers', self.handlers)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3462 logging._handlers.clear()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3463 logging._handlers.update(self.saved_handlers)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3464 logging._handlerList[:] = self.saved_handler_list
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3465 logging.root.level = self.original_logging_level
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3466
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3467 def test_no_kwargs(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3468 logging.basicConfig()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3469
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3470 # handler defaults to a StreamHandler to sys.stderr
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3471 self.assertEqual(len(logging.root.handlers), 1)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3472 handler = logging.root.handlers[0]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3473 self.assertIsInstance(handler, logging.StreamHandler)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3474 self.assertEqual(handler.stream, sys.stderr)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3475
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3476 formatter = handler.formatter
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3477 # format defaults to logging.BASIC_FORMAT
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3478 self.assertEqual(formatter._style._fmt, logging.BASIC_FORMAT)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3479 # datefmt defaults to None
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3480 self.assertIsNone(formatter.datefmt)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3481 # style defaults to %
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3482 self.assertIsInstance(formatter._style, logging.PercentStyle)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3483
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3484 # level is not explicitly set
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3485 self.assertEqual(logging.root.level, self.original_logging_level)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3486
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3487 def test_filename(self):
82543
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3488
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3489 def cleanup(h1, h2, fn):
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3490 h1.close()
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3491 h2.close()
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3492 os.remove(fn)
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3493
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3494 logging.basicConfig(filename='test.log')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3495
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3496 self.assertEqual(len(logging.root.handlers), 1)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3497 handler = logging.root.handlers[0]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3498 self.assertIsInstance(handler, logging.FileHandler)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3499
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3500 expected = logging.FileHandler('test.log', 'a')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3501 self.assertEqual(handler.stream.mode, expected.stream.mode)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3502 self.assertEqual(handler.stream.name, expected.stream.name)
82543
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3503 self.addCleanup(cleanup, handler, expected, 'test.log')
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3504
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3505 def test_filemode(self):
82543
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3506
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3507 def cleanup(h1, h2, fn):
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3508 h1.close()
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3509 h2.close()
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3510 os.remove(fn)
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3511
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3512 logging.basicConfig(filename='test.log', filemode='wb')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3513
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3514 handler = logging.root.handlers[0]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3515 expected = logging.FileHandler('test.log', 'wb')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3516 self.assertEqual(handler.stream.mode, expected.stream.mode)
82543
85325bce9982 Issue #17384: Consolidated cleanup operations in tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 82421
diff changeset
3517 self.addCleanup(cleanup, handler, expected, 'test.log')
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3518
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3519 def test_stream(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3520 stream = io.StringIO()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3521 self.addCleanup(stream.close)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3522 logging.basicConfig(stream=stream)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3523
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3524 self.assertEqual(len(logging.root.handlers), 1)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3525 handler = logging.root.handlers[0]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3526 self.assertIsInstance(handler, logging.StreamHandler)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3527 self.assertEqual(handler.stream, stream)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3528
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3529 def test_format(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3530 logging.basicConfig(format='foo')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3531
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3532 formatter = logging.root.handlers[0].formatter
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3533 self.assertEqual(formatter._style._fmt, 'foo')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3534
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3535 def test_datefmt(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3536 logging.basicConfig(datefmt='bar')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3537
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3538 formatter = logging.root.handlers[0].formatter
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3539 self.assertEqual(formatter.datefmt, 'bar')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3540
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3541 def test_style(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3542 logging.basicConfig(style='$')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3543
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3544 formatter = logging.root.handlers[0].formatter
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3545 self.assertIsInstance(formatter._style, logging.StringTemplateStyle)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3546
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3547 def test_level(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3548 old_level = logging.root.level
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3549 self.addCleanup(logging.root.setLevel, old_level)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3550
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3551 logging.basicConfig(level=57)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3552 self.assertEqual(logging.root.level, 57)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3553 # Test that second call has no effect
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3554 logging.basicConfig(level=58)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3555 self.assertEqual(logging.root.level, 57)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3556
69248
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3557 def test_incompatible(self):
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3558 assertRaises = self.assertRaises
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3559 handlers = [logging.StreamHandler()]
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3560 stream = sys.stderr
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3561 assertRaises(ValueError, logging.basicConfig, filename='test.log',
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3562 stream=stream)
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3563 assertRaises(ValueError, logging.basicConfig, filename='test.log',
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3564 handlers=handlers)
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3565 assertRaises(ValueError, logging.basicConfig, stream=stream,
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3566 handlers=handlers)
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3567
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3568 def test_handlers(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3569 handlers = [
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3570 logging.StreamHandler(),
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3571 logging.StreamHandler(sys.stdout),
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3572 logging.StreamHandler(),
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3573 ]
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3574 f = logging.Formatter()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3575 handlers[2].setFormatter(f)
69248
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3576 logging.basicConfig(handlers=handlers)
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3577 self.assertIs(handlers[0], logging.root.handlers[0])
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3578 self.assertIs(handlers[1], logging.root.handlers[1])
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3579 self.assertIs(handlers[2], logging.root.handlers[2])
69248
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3580 self.assertIsNotNone(handlers[0].formatter)
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3581 self.assertIsNotNone(handlers[1].formatter)
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3582 self.assertIs(handlers[2].formatter, f)
69248
fbf5e4b1e52a Added 'handlers' argument to logging.basicConfig.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69073
diff changeset
3583 self.assertIs(handlers[0].formatter, handlers[1].formatter)
80591
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3584
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3585 def _test_log(self, method, level=None):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3586 # logging.root has no handlers so basicConfig should be called
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3587 called = []
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3588
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3589 old_basic_config = logging.basicConfig
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3590 def my_basic_config(*a, **kw):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3591 old_basic_config()
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3592 old_level = logging.root.level
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3593 logging.root.setLevel(100) # avoid having messages in stderr
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3594 self.addCleanup(logging.root.setLevel, old_level)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3595 called.append((a, kw))
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3596
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3597 patch(self, logging, 'basicConfig', my_basic_config)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3598
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3599 log_method = getattr(logging, method)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3600 if level is not None:
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3601 log_method(level, "test me")
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3602 else:
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3603 log_method("test me")
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3604
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3605 # basicConfig was called with no arguments
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3606 self.assertEqual(called, [((), {})])
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3607
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3608 def test_log(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3609 self._test_log('log', logging.WARNING)
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3610
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3611 def test_debug(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3612 self._test_log('debug')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3613
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3614 def test_info(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3615 self._test_log('info')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3616
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3617 def test_warning(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3618 self._test_log('warning')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3619
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3620 def test_error(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3621 self._test_log('error')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3622
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3623 def test_critical(self):
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3624 self._test_log('critical')
d7660ccd8470 Closes #16521: Improved error handling for basicConfig(), added tests for same.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 77254
diff changeset
3625
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3626
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3627 class LoggerAdapterTest(unittest.TestCase):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3628
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3629 def setUp(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3630 super(LoggerAdapterTest, self).setUp()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3631 old_handler_list = logging._handlerList[:]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3632
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3633 self.recording = RecordingHandler()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3634 self.logger = logging.root
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3635 self.logger.addHandler(self.recording)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3636 self.addCleanup(self.logger.removeHandler, self.recording)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3637 self.addCleanup(self.recording.close)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3638
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3639 def cleanup():
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3640 logging._handlerList[:] = old_handler_list
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3641
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3642 self.addCleanup(cleanup)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3643 self.addCleanup(logging.shutdown)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3644 self.adapter = logging.LoggerAdapter(logger=self.logger, extra=None)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3645
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3646 def test_exception(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3647 msg = 'testing exception: %r'
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3648 exc = None
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3649 try:
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3650 1 / 0
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3651 except ZeroDivisionError as e:
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3652 exc = e
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3653 self.adapter.exception(msg, self.recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3654
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3655 self.assertEqual(len(self.recording.records), 1)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3656 record = self.recording.records[0]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3657 self.assertEqual(record.levelno, logging.ERROR)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3658 self.assertEqual(record.msg, msg)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3659 self.assertEqual(record.args, (self.recording,))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3660 self.assertEqual(record.exc_info,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3661 (exc.__class__, exc, exc.__traceback__))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3662
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3663 def test_critical(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3664 msg = 'critical test! %r'
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3665 self.adapter.critical(msg, self.recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3666
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3667 self.assertEqual(len(self.recording.records), 1)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3668 record = self.recording.records[0]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3669 self.assertEqual(record.levelno, logging.CRITICAL)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3670 self.assertEqual(record.msg, msg)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3671 self.assertEqual(record.args, (self.recording,))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3672
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3673 def test_is_enabled_for(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3674 old_disable = self.adapter.logger.manager.disable
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3675 self.adapter.logger.manager.disable = 33
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3676 self.addCleanup(setattr, self.adapter.logger.manager, 'disable',
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3677 old_disable)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3678 self.assertFalse(self.adapter.isEnabledFor(32))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3679
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3680 def test_has_handlers(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3681 self.assertTrue(self.adapter.hasHandlers())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3682
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3683 for handler in self.logger.handlers:
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3684 self.logger.removeHandler(handler)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3685
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3686 self.assertFalse(self.logger.hasHandlers())
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3687 self.assertFalse(self.adapter.hasHandlers())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3688
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3689
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3690 class LoggerTest(BaseTest):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3691
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3692 def setUp(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3693 super(LoggerTest, self).setUp()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3694 self.recording = RecordingHandler()
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3695 self.logger = logging.Logger(name='blah')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3696 self.logger.addHandler(self.recording)
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3697 self.addCleanup(self.logger.removeHandler, self.recording)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3698 self.addCleanup(self.recording.close)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3699 self.addCleanup(logging.shutdown)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3700
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3701 def test_set_invalid_level(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3702 self.assertRaises(TypeError, self.logger.setLevel, object())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3703
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3704 def test_exception(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3705 msg = 'testing exception: %r'
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3706 exc = None
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3707 try:
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3708 1 / 0
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3709 except ZeroDivisionError as e:
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3710 exc = e
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3711 self.logger.exception(msg, self.recording)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3712
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3713 self.assertEqual(len(self.recording.records), 1)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3714 record = self.recording.records[0]
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3715 self.assertEqual(record.levelno, logging.ERROR)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3716 self.assertEqual(record.msg, msg)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3717 self.assertEqual(record.args, (self.recording,))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3718 self.assertEqual(record.exc_info,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3719 (exc.__class__, exc, exc.__traceback__))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3720
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3721 def test_log_invalid_level_with_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3722 old_raise = logging.raiseExceptions
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3723 self.addCleanup(setattr, logging, 'raiseExecptions', old_raise)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3724
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3725 logging.raiseExceptions = True
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3726 self.assertRaises(TypeError, self.logger.log, '10', 'test message')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3727
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3728 def test_log_invalid_level_no_raise(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3729 old_raise = logging.raiseExceptions
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3730 self.addCleanup(setattr, logging, 'raiseExecptions', old_raise)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3731
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3732 logging.raiseExceptions = False
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3733 self.logger.log('10', 'test message') # no exception happens
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3734
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3735 def test_find_caller_with_stack_info(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3736 called = []
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3737 patch(self, logging.traceback, 'print_stack',
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3738 lambda f, file: called.append(file.getvalue()))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3739
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3740 self.logger.findCaller(stack_info=True)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3741
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3742 self.assertEqual(len(called), 1)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3743 self.assertEqual('Stack (most recent call last):\n', called[0])
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3744
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3745 def test_make_record_with_extra_overwrite(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3746 name = 'my record'
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3747 level = 13
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3748 fn = lno = msg = args = exc_info = func = sinfo = None
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3749 rv = logging._logRecordFactory(name, level, fn, lno, msg, args,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3750 exc_info, func, sinfo)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3751
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3752 for key in ('message', 'asctime') + tuple(rv.__dict__.keys()):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3753 extra = {key: 'some value'}
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3754 self.assertRaises(KeyError, self.logger.makeRecord, name, level,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3755 fn, lno, msg, args, exc_info,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3756 extra=extra, sinfo=sinfo)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3757
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3758 def test_make_record_with_extra_no_overwrite(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3759 name = 'my record'
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3760 level = 13
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3761 fn = lno = msg = args = exc_info = func = sinfo = None
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3762 extra = {'valid_key': 'some value'}
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3763 result = self.logger.makeRecord(name, level, fn, lno, msg, args,
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3764 exc_info, extra=extra, sinfo=sinfo)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3765 self.assertIn('valid_key', result.__dict__)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3766
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3767 def test_has_handlers(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3768 self.assertTrue(self.logger.hasHandlers())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3769
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3770 for handler in self.logger.handlers:
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3771 self.logger.removeHandler(handler)
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3772 self.assertFalse(self.logger.hasHandlers())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3773
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3774 def test_has_handlers_no_propagate(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3775 child_logger = logging.getLogger('blah.child')
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3776 child_logger.propagate = False
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3777 self.assertFalse(child_logger.hasHandlers())
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3778
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3779 def test_is_enabled_for(self):
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3780 old_disable = self.logger.manager.disable
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3781 self.logger.manager.disable = 23
70642
44139ece7a31 Closes issue #11557: removal of non-idiomatic code in test_logging.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70327
diff changeset
3782 self.addCleanup(setattr, self.logger.manager, 'disable', old_disable)
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3783 self.assertFalse(self.logger.isEnabledFor(22))
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3784
73433
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3785 def test_root_logger_aliases(self):
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3786 root = logging.getLogger()
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3787 self.assertIs(root, logging.root)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3788 self.assertIs(root, logging.getLogger(None))
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3789 self.assertIs(root, logging.getLogger(''))
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3790 self.assertIs(root, logging.getLogger('foo').root)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3791 self.assertIs(root, logging.getLogger('foo.bar').root)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3792 self.assertIs(root, logging.getLogger('foo').parent)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3793
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3794 self.assertIsNot(root, logging.getLogger('\0'))
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3795 self.assertIsNot(root, logging.getLogger('foo.bar').parent)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3796
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3797 def test_invalid_names(self):
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3798 self.assertRaises(TypeError, logging.getLogger, any)
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3799 self.assertRaises(TypeError, logging.getLogger, b'foo')
bbcba237bd51 logging: replace codecs.open with builtins.open, remove '_encoded' sort, add some tests.
Florent Xicluna <florent.xicluna@gmail.com>
parents: 73420
diff changeset
3800
69039
c7f7672b70a9 Closes issue #11557: Added Natalia Bidart's patch to improve test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 68320
diff changeset
3801
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3802 class BaseFileTest(BaseTest):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3803 "Base class for handler tests that write log files"
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3804
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3805 def setUp(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3806 BaseTest.setUp(self)
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3807 fd, self.fn = tempfile.mkstemp(".log", "test_logging-2-")
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3808 os.close(fd)
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3809 self.rmfiles = []
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3810
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3811 def tearDown(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3812 for fn in self.rmfiles:
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3813 os.unlink(fn)
67156
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3814 if os.path.exists(self.fn):
664705dbfe62 Issue #10774: test_logging now removes temp files created during tests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 66819
diff changeset
3815 os.unlink(self.fn)
64804
d060474e0e24 Added missing BaseTest.tearDown(self). Fixed refleak.
Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
parents: 64797
diff changeset
3816 BaseTest.tearDown(self)
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3817
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3818 def assertLogFile(self, filename):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3819 "Assert a log file is there and register it for deletion"
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3820 self.assertTrue(os.path.exists(filename),
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
3821 msg="Log file %r does not exist" % filename)
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3822 self.rmfiles.append(filename)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3823
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3824
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3825 class FileHandlerTest(BaseFileTest):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3826 def test_delay(self):
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3827 os.unlink(self.fn)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3828 fh = logging.FileHandler(self.fn, delay=True)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3829 self.assertIsNone(fh.stream)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3830 self.assertFalse(os.path.exists(self.fn))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3831 fh.handle(logging.makeLogRecord({}))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3832 self.assertIsNotNone(fh.stream)
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3833 self.assertTrue(os.path.exists(self.fn))
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3834 fh.close()
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
3835
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3836 class RotatingFileHandlerTest(BaseFileTest):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3837 def next_rec(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3838 return logging.LogRecord('n', logging.DEBUG, 'p', 1,
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3839 self.next_message(), None, None, None)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3840
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3841 def test_should_not_rollover(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3842 # If maxbytes is zero rollover never occurs
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3843 rh = logging.handlers.RotatingFileHandler(self.fn, maxBytes=0)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3844 self.assertFalse(rh.shouldRollover(None))
65757
3227b6f204cc Remove ResourceWarnings caused by files left open.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65647
diff changeset
3845 rh.close()
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3846
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3847 def test_should_rollover(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3848 rh = logging.handlers.RotatingFileHandler(self.fn, maxBytes=1)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3849 self.assertTrue(rh.shouldRollover(self.next_rec()))
65757
3227b6f204cc Remove ResourceWarnings caused by files left open.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65647
diff changeset
3850 rh.close()
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3851
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3852 def test_file_created(self):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3853 # checks that the file is created and assumes it was created
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3854 # by us
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3855 rh = logging.handlers.RotatingFileHandler(self.fn)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3856 rh.emit(self.next_rec())
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3857 self.assertLogFile(self.fn)
65757
3227b6f204cc Remove ResourceWarnings caused by files left open.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65647
diff changeset
3858 rh.close()
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3859
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3860 def test_rollover_filenames(self):
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3861 def namer(name):
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3862 return name + ".test"
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3863 rh = logging.handlers.RotatingFileHandler(
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3864 self.fn, backupCount=2, maxBytes=1)
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3865 rh.namer = namer
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3866 rh.emit(self.next_rec())
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3867 self.assertLogFile(self.fn)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3868 rh.emit(self.next_rec())
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3869 self.assertLogFile(namer(self.fn + ".1"))
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3870 rh.emit(self.next_rec())
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3871 self.assertLogFile(namer(self.fn + ".2"))
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3872 self.assertFalse(os.path.exists(namer(self.fn + ".3")))
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3873 rh.close()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3874
75534
4b54a686541f Make test_logging no longer fail if zlib not present. Closes #14256. Patch by Pedro Kroger.
Eric V. Smith <eric@trueblade.com>
parents: 75443
diff changeset
3875 @requires_zlib
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3876 def test_rotator(self):
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3877 def namer(name):
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3878 return name + ".gz"
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3879
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3880 def rotator(source, dest):
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3881 with open(source, "rb") as sf:
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3882 data = sf.read()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3883 compressed = zlib.compress(data, 9)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3884 with open(dest, "wb") as df:
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3885 df.write(compressed)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3886 os.remove(source)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3887
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3888 rh = logging.handlers.RotatingFileHandler(
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3889 self.fn, backupCount=2, maxBytes=1)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3890 rh.rotator = rotator
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3891 rh.namer = namer
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3892 m1 = self.next_rec()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3893 rh.emit(m1)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3894 self.assertLogFile(self.fn)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3895 m2 = self.next_rec()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3896 rh.emit(m2)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3897 fn = namer(self.fn + ".1")
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3898 self.assertLogFile(fn)
74297
870f8fdfbada Closes #13732: now use os.linesep instead of a literal newline.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74267
diff changeset
3899 newline = os.linesep
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3900 with open(fn, "rb") as f:
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3901 compressed = f.read()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3902 data = zlib.decompress(compressed)
74297
870f8fdfbada Closes #13732: now use os.linesep instead of a literal newline.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74267
diff changeset
3903 self.assertEqual(data.decode("ascii"), m1.msg + newline)
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3904 rh.emit(self.next_rec())
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3905 fn = namer(self.fn + ".2")
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3906 self.assertLogFile(fn)
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3907 with open(fn, "rb") as f:
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3908 compressed = f.read()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3909 data = zlib.decompress(compressed)
74297
870f8fdfbada Closes #13732: now use os.linesep instead of a literal newline.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74267
diff changeset
3910 self.assertEqual(data.decode("ascii"), m1.msg + newline)
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3911 rh.emit(self.next_rec())
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3912 fn = namer(self.fn + ".2")
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3913 with open(fn, "rb") as f:
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3914 compressed = f.read()
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3915 data = zlib.decompress(compressed)
74297
870f8fdfbada Closes #13732: now use os.linesep instead of a literal newline.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74267
diff changeset
3916 self.assertEqual(data.decode("ascii"), m2.msg + newline)
74267
57295c4d81ac Refactored logging rotating handlers for improved flexibility.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73509
diff changeset
3917 self.assertFalse(os.path.exists(namer(self.fn + ".3")))
65757
3227b6f204cc Remove ResourceWarnings caused by files left open.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65647
diff changeset
3918 rh.close()
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3919
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3920 class TimedRotatingFileHandlerTest(BaseFileTest):
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
3921 # other test methods added below
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
3922 def test_rollover(self):
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3923 fh = logging.handlers.TimedRotatingFileHandler(self.fn, 'S',
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3924 backupCount=1)
75412
0457fb8bf39c Added more diagnostics for diagnosing #12151.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75376
diff changeset
3925 fmt = logging.Formatter('%(asctime)s %(message)s')
0457fb8bf39c Added more diagnostics for diagnosing #12151.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75376
diff changeset
3926 fh.setFormatter(fmt)
75419
a495c41c1e13 Issue #12151: Added more info to diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75412
diff changeset
3927 r1 = logging.makeLogRecord({'msg': 'testing - initial'})
a495c41c1e13 Issue #12151: Added more info to diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75412
diff changeset
3928 fh.emit(r1)
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3929 self.assertLogFile(self.fn)
75419
a495c41c1e13 Issue #12151: Added more info to diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75412
diff changeset
3930 time.sleep(1.1) # a little over a second ...
75443
09f19e575724 Added delay before record creation.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75419
diff changeset
3931 r2 = logging.makeLogRecord({'msg': 'testing - after delay'})
75419
a495c41c1e13 Issue #12151: Added more info to diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75412
diff changeset
3932 fh.emit(r2)
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3933 fh.close()
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3934 # At this point, we should have a recent rotated file which we
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3935 # can test for the existence of. However, in practice, on some
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3936 # machines which run really slowly, we don't know how far back
70070
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3937 # in time to go to look for the log file. So, we go back a fair
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3938 # bit, and stop as soon as we see a rotated file. In theory this
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3939 # could of course still fail, but the chances are lower.
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3940 found = False
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3941 now = datetime.datetime.now()
70077
806f136bb9f2 test_logging: extended time range for rollover test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70076
diff changeset
3942 GO_BACK = 5 * 60 # seconds
70070
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3943 for secs in range(GO_BACK):
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3944 prev = now - datetime.timedelta(seconds=secs)
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3945 fn = self.fn + prev.strftime(".%Y-%m-%d_%H-%M-%S")
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3946 found = os.path.exists(fn)
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3947 if found:
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3948 self.rmfiles.append(fn)
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3949 break
70070
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3950 msg = 'No rotated files found, went back %d seconds' % GO_BACK
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3951 if not found:
b609a1701976 Added diagnostics to test_logging, after reverting last change.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70053
diff changeset
3952 #print additional diagnostics
70076
dfa442d1ce12 test_logging: fixed bug in failure diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70075
diff changeset
3953 dn, fn = os.path.split(self.fn)
dfa442d1ce12 test_logging: fixed bug in failure diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 70075
diff changeset
3954 files = [f for f in os.listdir(dn) if f.startswith(fn)]
70281
54ffc01b6cc2 Issue #12151: test_logging writes debug messages to stderr, not stdout
Victor Stinner <victor.stinner@haypocalc.com>
parents: 70254
diff changeset
3955 print('Test time: %s' % now.strftime("%Y-%m-%d %H-%M-%S"), file=sys.stderr)
54ffc01b6cc2 Issue #12151: test_logging writes debug messages to stderr, not stdout
Victor Stinner <victor.stinner@haypocalc.com>
parents: 70254
diff changeset
3956 print('The only matching files are: %s' % files, file=sys.stderr)
75330
ce0b9b1328d4 Added additional diagnostics to help with #12151.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74297
diff changeset
3957 for f in files:
ce0b9b1328d4 Added additional diagnostics to help with #12151.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74297
diff changeset
3958 print('Contents of %s:' % f)
75376
58eef400866e Fixed problem with diagnostic output.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75330
diff changeset
3959 path = os.path.join(dn, f)
58eef400866e Fixed problem with diagnostic output.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 75330
diff changeset
3960 with open(path, 'r') as tf:
75330
ce0b9b1328d4 Added additional diagnostics to help with #12151.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 74297
diff changeset
3961 print(tf.read())
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3962 self.assertTrue(found, msg=msg)
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3963
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3964 def test_invalid(self):
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3965 assertRaises = self.assertRaises
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3966 assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler,
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3967 self.fn, 'X', delay=True)
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3968 assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler,
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3969 self.fn, 'W', delay=True)
69846
7c5d91ac4f68 Improved coverage and fixed bug in HTTPHandler with POST requests.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69782
diff changeset
3970 assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler,
69913
ff55dfb40984 Closed resource leak in SysLogHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69880
diff changeset
3971 self.fn, 'W7', delay=True)
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
3972
83271
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3973 def test_compute_rollover_daily_attime(self):
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3974 currentTime = 0
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3975 atTime = datetime.time(12, 0, 0)
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3976 rh = logging.handlers.TimedRotatingFileHandler(
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3977 self.fn, when='MIDNIGHT', interval=1, backupCount=0, utc=True,
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3978 atTime=atTime)
83364
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3979 try:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3980 actual = rh.computeRollover(currentTime)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3981 self.assertEqual(actual, currentTime + 12 * 60 * 60)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3982
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3983 actual = rh.computeRollover(currentTime + 13 * 60 * 60)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3984 self.assertEqual(actual, currentTime + 36 * 60 * 60)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3985 finally:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3986 rh.close()
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3987
83832
23836f17e4a2 Re-enabled skipped test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83722
diff changeset
3988 #@unittest.skipIf(True, 'Temporarily skipped while failures investigated.')
83271
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3989 def test_compute_rollover_weekly_attime(self):
83364
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3990 currentTime = int(time.time())
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3991 today = currentTime - currentTime % 86400
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
3992
83271
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3993 atTime = datetime.time(12, 0, 0)
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3994
83832
23836f17e4a2 Re-enabled skipped test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83722
diff changeset
3995 wday = time.gmtime(today).tm_wday
83271
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3996 for day in range(7):
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3997 rh = logging.handlers.TimedRotatingFileHandler(
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3998 self.fn, when='W%d' % day, interval=1, backupCount=0, utc=True,
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
3999 atTime=atTime)
83364
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4000 try:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4001 if wday > day:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4002 # The rollover day has already passed this week, so we
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4003 # go over into next week
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4004 expected = (7 - wday + day)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4005 else:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4006 expected = (day - wday)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4007 # At this point expected is in days from now, convert to seconds
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4008 expected *= 24 * 60 * 60
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4009 # Add in the rollover time
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4010 expected += 12 * 60 * 60
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4011 # Add in adjustment for today
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4012 expected += today
83389
193e7ad92900 Issue #17713: Added failure diagnostics to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83365
diff changeset
4013 actual = rh.computeRollover(today)
193e7ad92900 Issue #17713: Added failure diagnostics to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83365
diff changeset
4014 if actual != expected:
193e7ad92900 Issue #17713: Added failure diagnostics to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83365
diff changeset
4015 print('failed in timezone: %d' % time.timezone)
83721
66e8ffee9190 Re-enabled test with more diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83670
diff changeset
4016 print('local vars: %s' % locals())
83364
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4017 self.assertEqual(actual, expected)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4018 if day == wday:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4019 # goes into following week
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4020 expected += 7 * 24 * 60 * 60
83365
efda51b85b31 Issue #17713: additional tweak to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83364
diff changeset
4021 actual = rh.computeRollover(today + 13 * 60 * 60)
83389
193e7ad92900 Issue #17713: Added failure diagnostics to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83365
diff changeset
4022 if actual != expected:
193e7ad92900 Issue #17713: Added failure diagnostics to test.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83365
diff changeset
4023 print('failed in timezone: %d' % time.timezone)
83721
66e8ffee9190 Re-enabled test with more diagnostics.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83670
diff changeset
4024 print('local vars: %s' % locals())
83364
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4025 self.assertEqual(actual, expected)
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4026 finally:
1494daf809c1 Closes #17713: Fixed bug in test_compute_rollover_weekly_attime.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83294
diff changeset
4027 rh.close()
83271
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
4028
eead4be1bdd9 Closed #9556: Allowed specifying a time-of-day for a TimedRotatingFileHandler to rotate.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 83003
diff changeset
4029
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4030 def secs(**kw):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4031 return datetime.timedelta(**kw) // datetime.timedelta(seconds=1)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4032
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4033 for when, exp in (('S', 1),
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4034 ('M', 60),
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4035 ('H', 60 * 60),
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4036 ('D', 60 * 60 * 24),
68041
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4037 ('MIDNIGHT', 60 * 60 * 24),
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4038 # current time (epoch start) is a Thursday, W0 means Monday
68041
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4039 ('W0', secs(days=4, hours=24)),
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4040 ):
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4041 def test_compute_rollover(self, when=when, exp=exp):
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4042 rh = logging.handlers.TimedRotatingFileHandler(
68041
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4043 self.fn, when=when, interval=1, backupCount=0, utc=True)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4044 currentTime = 0.0
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4045 actual = rh.computeRollover(currentTime)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4046 if exp != actual:
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4047 # Failures occur on some systems for MIDNIGHT and W0.
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4048 # Print detailed calculation for MIDNIGHT so we can try to see
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4049 # what's going on
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4050 if when == 'MIDNIGHT':
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4051 try:
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4052 if rh.utc:
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4053 t = time.gmtime(currentTime)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4054 else:
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4055 t = time.localtime(currentTime)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4056 currentHour = t[3]
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4057 currentMinute = t[4]
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4058 currentSecond = t[5]
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4059 # r is the number of seconds left between now and midnight
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4060 r = logging.handlers._MIDNIGHT - ((currentHour * 60 +
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4061 currentMinute) * 60 +
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4062 currentSecond)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4063 result = currentTime + r
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4064 print('t: %s (%s)' % (t, rh.utc), file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4065 print('currentHour: %s' % currentHour, file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4066 print('currentMinute: %s' % currentMinute, file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4067 print('currentSecond: %s' % currentSecond, file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4068 print('r: %s' % r, file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4069 print('result: %s' % result, file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4070 except Exception:
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4071 print('exception in diagnostic code: %s' % sys.exc_info()[1], file=sys.stderr)
374f0b22e4a4 Issue #9941: Fixed TimedRotatingHandler test issues.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 67231
diff changeset
4072 self.assertEqual(exp, actual)
65757
3227b6f204cc Remove ResourceWarnings caused by files left open.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 65647
diff changeset
4073 rh.close()
64794
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4074 setattr(TimedRotatingFileHandlerTest, "test_compute_rollover_%s" % when, test_compute_rollover)
dc422daa5dad Issue #9441: logging: Improved test coverage for rotating file handlers.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64730
diff changeset
4075
69986
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4076
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4077 @unittest.skipUnless(win32evtlog, 'win32evtlog/win32evtlogutil required for this test.')
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4078 class NTEventLogHandlerTest(BaseTest):
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4079 def test_basic(self):
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4080 logtype = 'Application'
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4081 elh = win32evtlog.OpenEventLog(None, logtype)
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4082 num_recs = win32evtlog.GetNumberOfEventLogRecords(elh)
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4083 h = logging.handlers.NTEventLogHandler('test_logging')
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4084 r = logging.makeLogRecord({'msg': 'Test Log Message'})
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4085 h.handle(r)
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4086 h.close()
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4087 # Now see if the event is recorded
79787
240fa6e93925 test_logging.py: where needed use unittest's assertGreater, assertLesser, assertIs rather than assertTrue (also in order to debug issue 16264)
Giampaolo Rodola' <g.rodola@gmail.com>
parents: 79615
diff changeset
4088 self.assertLess(num_recs, win32evtlog.GetNumberOfEventLogRecords(elh))
69986
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4089 flags = win32evtlog.EVENTLOG_BACKWARDS_READ | \
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4090 win32evtlog.EVENTLOG_SEQUENTIAL_READ
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4091 found = False
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4092 GO_BACK = 100
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4093 events = win32evtlog.ReadEventLog(elh, flags, GO_BACK)
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4094 for e in events:
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4095 if e.SourceName != 'test_logging':
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4096 continue
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4097 msg = win32evtlogutil.SafeFormatMessage(e, logtype)
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4098 if msg != 'Test Log Message\r\n':
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4099 continue
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4100 found = True
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4101 break
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4102 msg = 'Record not found in event log, went back %d records' % GO_BACK
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4103 self.assertTrue(found, msg=msg)
76544
5de7c3d64f2a Issue #14632: Updated WatchedFileHandler to deal with race condition. Thanks to John Mulligan for the problem report and patch.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 73419
diff changeset
4104
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4105 # Set the locale to the platform-dependent default. I have no idea
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4106 # why the test does this, but in any case we save the current locale
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4107 # first and restore it at the end.
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4108 @run_with_locale('LC_ALL', '')
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4109 def test_main():
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4110 run_unittest(BuiltinLevelsTest, BasicFilterTest,
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
4111 CustomLevelsAndFiltersTest, HandlerTest, MemoryHandlerTest,
69775
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4112 ConfigFileTest, SocketHandlerTest, DatagramHandlerTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4113 MemoryTest, EncodingTest, WarningsTest, ConfigDictTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4114 ManagerTest, FormatterTest, BufferingFormatterTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4115 StreamHandlerTest, LogRecordFactoryTest, ChildLoggerTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4116 QueueHandlerTest, ShutdownTest, ModuleLevelMiscTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4117 BasicConfigTest, LoggerAdapterTest, LoggerTest,
347fa1c0b953 Added tests to improve coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69723
diff changeset
4118 SMTPHandlerTest, FileHandlerTest, RotatingFileHandlerTest,
69575
ababe8a73327 test_logging coverage improvements.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69528
diff changeset
4119 LastResortTest, LogRecordTest, ExceptionTest,
69986
05f3497c32c7 Improved Windows test coverage.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 69913
diff changeset
4120 SysLogHandlerTest, HTTPHandlerTest, NTEventLogHandlerTest,
85810
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
4121 TimedRotatingFileHandlerTest, UnixSocketHandlerTest,
ce46195b56a9 logging: added support for Unix domain sockets to SocketHandler and DatagramHandler.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 85702
diff changeset
4122 UnixDatagramHandlerTest, UnixSysLogHandlerTest
64797
cd2ef7528736 Temporarily commented out test which succeeds locally but fails on buildbots, while investigating.
Vinay Sajip <vinay_sajip@yahoo.co.uk>
parents: 64794
diff changeset
4123 )
45377
1872bd6cf4b4 Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60873 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43014
diff changeset
4124
45635
882eba145119 Merged revisions 61189-61190,61192,61194-61195,61198-61199 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 45460
diff changeset
4125 if __name__ == "__main__":
27024
1098ccc84d63 SF #660795
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff changeset
4126 test_main()