Commit graph

284 commits

Author SHA1 Message Date
Miss Islington (bot)
3b699932e5 bpo-6721: Hold logging locks across fork() (GH-4071) (#9291)
bpo-6721: When os.fork() was called while another thread holds a logging lock, the child process may deadlock when it tries to log.  This fixes that by acquiring all logging locks before fork and releasing them afterwards.

A regression test that fails before this change is included.

Within the new unittest itself: There is a small _potential_ due to mixing of fork and a thread in the child process if the parent's thread happened to hold a non-reentrant library call lock (malloc?) when the os.fork() happens.  buildbots and time will tell if this actually manifests itself in this test or not.  :/  A functionality test that avoids that would be a challenge.

An alternate test that isn't trying to produce the deadlock itself but just checking that the release and acquire calls are made would be the next best alternative if so.
(cherry picked from commit 19003841e9)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
2018-10-07 00:09:59 -07:00
Miss Islington (bot)
1a2189353f bpo-34334: Don't log traceback twice in QueueHandler (GH-9537) (GH-9581)
(cherry picked from commit d345bb4d9b)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2018-10-07 00:33:37 -04:00
Miss Islington (bot)
0a1db32949 bpo-34092, test_logging: increase SMTPHandlerTest timeout (GH-8245) (GH-8247)
Change test_logging.SMTPHandlerTest timeout from 8 seconds to 1
minute. The test failed randomly on the slow x86 Gentoo Refleaks 3.7
buildbot.
(cherry picked from commit 31b50b8cbf)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-07-11 15:56:45 +02:00
Miss Islington (bot)
6f49afc3d9 bpo-33978: Close existing handlers before logging (re-)configuration. (GH-8008) (GH-8044)
(cherry picked from commit 087570af6d)

Co-authored-by: Xtreak <tirkarthi@users.noreply.github.com>
2018-07-02 10:35:09 +01:00
Miss Islington (bot)
f44203d782
bpo-33802: Do not interpolate in ConfigParser while reading defaults (GH-7524)
This solves a regression in logging config due to changes in BPO-23835.
(cherry picked from commit 214f18e49f)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2018-06-08 07:01:56 -07:00
Victor Stinner
13ff24582c
bpo-32593: Drop FreeBSD 9 and older support (#5232)
Drop support of FreeBSD 9 and older.
2018-01-22 18:32:50 +01:00
Mike
53f7a7c281 bpo-32297: Few misspellings found in Python source code comments. (#4803)
* Fix multiple typos in code comments

* Add spacing in comments (test_logging.py, test_math.py)

* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
xdegaye
bf2b65e413
bpo-28668: test.support.requires_multiprocessing_queue is removed (GH-4560)
Skip tests with test.support.import_module('multiprocessing.synchronize')
instead when the semaphore implementation is broken or missing.
2017-12-01 08:08:49 +01:00
Łukasz Langa
ce9e625445 bpo-31457: Don't omit inner `process()` calls with nested LogAdapters (#4044)
This used to be the case on Python 2.  Commit
212b590e11 changed the implementation for Python
3, making the `log()` method of LogAdapter call `logger._log()` directly.  This
makes nested log adapters not execute their ``process()`` method.  This patch
fixes the issue.

Also, now proxying `name`, too, to make `repr()` work with nested log adapters.

New tests added.
2017-10-19 10:24:55 -07:00
Łukasz Langa
0b6a118a45 bpo-31457: Make the LoggerAdapter.manager property settable (#4042)
Due to a bug in the initial fix, the setter was in fact creating a different
property.  This is now fixed.
2017-10-18 17:28:51 -07:00
Christian Heimes
a170fa162d bpo-31346: Use PROTOCOL_TLS_CLIENT/SERVER (#3058)
Replaces PROTOCOL_TLSv* and PROTOCOL_SSLv23 with PROTOCOL_TLS_CLIENT and
PROTOCOL_TLS_SERVER.

Signed-off-by: Christian Heimes <christian@python.org>
2017-09-15 20:27:30 +02:00
Victor Stinner
b9b69003d9 bpo-31234: Add support.join_thread() helper (#3587)
join_thread() joins a thread but raises an AssertionError if the
thread is still alive after timeout seconds.
2017-09-14 14:40:56 -07:00
Łukasz Langa
1bbd482bcf bpo-31457: Allow for nested LoggerAdapter objects (#3551)
Some of the proxied methods use internal Logger state which isn't proxied,
causing failures if an adapter is applied to another adapter.

This commit fixes the issue, adds a new test for the use case.
2017-09-14 11:34:47 -04:00
Victor Stinner
b8f4163da3 bpo-31233: socketserver.ThreadingMixIn.server_close() (#3523)
socketserver.ThreadingMixIn now keeps a list of non-daemonic threads
to wait until all these threads complete in server_close().

Reenable test_logging skipped tests.

Fix SocketHandlerTest.tearDown(): close the socket handler before
stopping the server, so the server can join threads.
2017-09-13 01:47:22 -07:00
Antoine Pitrou
a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Victor Stinner
a7719e27b3 bpo-31235: Fix ResourceWarning in test_logging (#3147) 2017-08-19 00:34:00 +02:00
Victor Stinner
6966960468 bpo-30830: test_logging uses threading_setup/cleanup (#3137)
* bpo-30830: test_logging uses threading_setup/cleanup

Replace @support.reap_threads on some methods with
support.threading_setup() in setUp() and support.threading_cleanup()
in tearDown() in BaseTest.

* bpo-30830: test_logging disables threaded socketserver tests

Disable tests because of socketserver.ThreadingMixIn leaks threads,
whereas leaking threads now makes a test to fail on buildbots.

Disable tests until socketserver is fixed: bpo-31233.

* Skip also setup_via_listener()
2017-08-18 23:47:54 +02:00
Preston Landers
6ea56d2ebc bpo-31080: Allowed logging.config.fileConfig() to accept both args and kwargs. (GH-2979) 2017-08-02 21:44:28 +01:00
favll
adfe3440f6 bpo-31084: QueueHandler now formats messages correctly. (GH-2954) 2017-08-01 19:12:26 +01:00
Vinay Sajip
2543f50033 bpo-30522: Implemented a method to allow setting a logging.StreamHander's stream. (GH-2921) 2017-07-30 10:41:45 +01:00
Avram Lubkin
78c18a9b9a bpo-30962: Added caching to Logger.isEnabledFor() (GH-2752) 2017-07-30 10:36:33 +01:00
Vinay Sajip
6260d9f203 bpo-30520: Implemented pickling for loggers. (#1956)
Implemented pickling for loggers.
2017-06-06 16:34:29 +01:00
Xiang Zhang
0b4b57df96 bpo-30378: Fix the problem that SysLogHandler can't handle IPv6 addresses (#1676) 2017-06-01 21:11:56 +08:00
Victor Stinner
8ca2f2faef bpo-30131: test_logging now joins queue threads (#1298)
QueueListenerTest of test_logging now closes the multiprocessing
Queue and joins its thread to prevent leaking dangling threads to
following tests.

Add also @support.reap_threads to detect earlier if a test leaks
threads (and try to "cleanup" these threads).
2017-04-26 15:56:25 +02:00
Victor Stinner
4bcfa3a236 bpo-30131: Cleanup threads in test_logging (#1275)
* Use @support.reap_threads on unit tests creating threads
* Call TestCase.fail() on thread.join(timeout) failure
2017-04-25 00:41:36 +02:00
Vinay Sajip
d4f5001bac Issue #29220: Merged fixes from 3.6. 2017-01-11 17:44:07 +00:00
Vinay Sajip
a861d48817 Issue #292Merged fixes from 3.5. 2017-01-11 17:41:28 +00:00
Vinay Sajip
924aaae4c2 Issue #29220: Improved fix and test. 2017-01-11 17:35:36 +00:00
Vinay Sajip
8b866d5429 Closes #29220: Fixed regression in logging.getLevelName(). 2017-01-11 06:57:55 +00:00
Vinay Sajip
9ebb245db8 Closes #29177: Merged fix from 3.6. 2017-01-09 16:55:24 +00:00
Vinay Sajip
1e6499c19c Fixes #29177: Improved resilience of logging tests which use socket servers.
Thanks to Xavier de Gaye for the report and patch improvements.
2017-01-09 16:54:12 +00:00
Vinay Sajip
d489ac9102 Closes #28524: added default level for logging.disable(). 2016-12-31 11:40:11 +00:00
Xavier de Gaye
d178e69ad8 Issue 28668: Merge 3.5 2016-11-15 17:03:12 +01:00
Xavier de Gaye
49e8f2d204 Issue 28668: Skip tests where instanciation of multiprocessing.Queue
would raise ImportError
2016-11-15 16:57:52 +01:00
Martin Panter
94332cba0f Issue #28480: Adjust or skip tests if multithreading is disabled 2016-10-20 05:10:44 +00:00
Vinay Sajip
d61910c598 Fixes #27930: improved QueueListener behaviour. 2016-09-08 01:13:39 +01:00
Vinay Sajip
db8f46321f Added back test code lost during merge. 2016-09-08 01:37:03 +01:00
Serhiy Storchaka
a793037d80 Issue #19527: Fixed tests with defined COUNT_ALLOCS. 2016-07-03 22:27:26 +03:00
Vinay Sajip
1bf197eb14 Fixed #27251: corrected string/bytes handling in credentials. 2016-06-07 21:19:55 +01:00
Vinay Sajip
3f445f799a Closes #25411: Merged fix from 3.4. 2015-10-17 16:17:52 +01:00
Vinay Sajip
277640af0f Closes #25411: Improved Unicode support in SMTPHandler. 2015-10-17 16:13:10 +01:00
Zachary Ware
479ac6654c Issue #25097: Merge with 3.4 2015-10-06 15:28:56 -05:00
Zachary Ware
106ddf07b3 Issue #25097: Re-raise any other pywin32 error 2015-10-06 15:28:43 -05:00
Zachary Ware
af34b248d1 Issue #25097: Merge with 3.4 2015-10-06 15:22:41 -05:00
Zachary Ware
22226c5595 Issue #25097: fix Windows error number access 2015-10-06 15:22:13 -05:00
Vinay Sajip
d5963e615d Fixes #25097: Merged fi from 3.4. 2015-10-01 20:38:53 +01:00
Vinay Sajip
223349cfb8 Fixes #25097: Windows test is skipped if there are insufficient privileges, rather than failing. 2015-10-01 20:37:54 +01:00
Serhiy Storchaka
750eae1bd4 Issue #24678: Fixed raiseExceptions typo in logging tests.
Patch by Jacek Kołodziej.
2015-07-21 22:39:26 +03:00
Serhiy Storchaka
296b347db7 Issue #24678: Fixed raiseExceptions typo in logging tests.
Patch by Jacek Kołodziej.
2015-07-21 22:40:18 +03:00
Berker Peksag
ce643913a9 Issue #9517: Move script_helper to the support package.
Patch by Christie Wilson.
2015-05-06 06:33:17 +03:00