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/cgi.py b/Lib/cgi.py
index 3a795c9..dd11389 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -39,13 +39,14 @@
import os
import urllib
import UserDict
-from test.test_support import catch_warning
-from warnings import filterwarnings
-with catch_warning(record=False):
- filterwarnings("ignore", ".*mimetools has been removed",
- DeprecationWarning)
+from warnings import filterwarnings, catch_warnings
+with catch_warnings():
+ if sys.py3kwarning:
+ filterwarnings("ignore", ".*mimetools has been removed",
+ DeprecationWarning)
import mimetools
- filterwarnings("ignore", ".*rfc822 has been removed", DeprecationWarning)
+ if sys.py3kwarning:
+ filterwarnings("ignore", ".*rfc822 has been removed", DeprecationWarning)
import rfc822
try: