test_warnings ironically had a single test that was not protecting the warnings
filter and was resetting it.
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index bc177ad..bb2fb5f 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -460,14 +460,14 @@
         self.failUnless(text in result)
 
     def test_showwarning_not_callable(self):
-        self.module.filterwarnings("always", category=UserWarning)
-        old_showwarning = self.module.showwarning
-        self.module.showwarning = 23
-        try:
-            self.assertRaises(TypeError, self.module.warn, "Warning!")
-        finally:
-            self.module.showwarning = old_showwarning
-            self.module.resetwarnings()
+        with original_warnings.catch_warnings(module=self.module):
+            self.module.filterwarnings("always", category=UserWarning)
+            old_showwarning = self.module.showwarning
+            self.module.showwarning = 23
+            try:
+                self.assertRaises(TypeError, self.module.warn, "Warning!")
+            finally:
+                self.module.showwarning = old_showwarning
 
     def test_show_warning_output(self):
         # With showarning() missing, make sure that output is okay.