Move test.test_support.catch_warning() to the warnings module, rename it
catch_warnings(), and clean up the API.
While expanding the test suite, a bug was found where a warning about the
'line' argument to showwarning() was not letting functions with '*args' go
without a warning.
Closes issue 3602.
Code review by Benjamin Peterson.
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 62cd0c7..2830ad7 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -67,12 +67,13 @@
"""
import socket
+from sys import py3kwarning
from urlparse import urlsplit
import warnings
-from test.test_support import catch_warning
-with catch_warning(record=False):
- warnings.filterwarnings("ignore", ".*mimetools has been removed",
- DeprecationWarning)
+with warnings.catch_warnings():
+ if py3kwarning:
+ warnings.filterwarnings("ignore", ".*mimetools has been removed",
+ DeprecationWarning)
import mimetools
try: