Fix a bug introduced by the addition of the 'record' argument to
test.test_support.catch_warning() where showwarning() was not being set
properly.
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 25494a9..9a45fdd 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -406,11 +406,11 @@
             warnings.warn("foo")
             assert str(w.message) == "foo"
     """
+    original_filters = module.filters[:]
+    original_showwarning = module.showwarning
     if record:
         warning_obj = WarningMessage()
         module.showwarning = warning_obj._showwarning
-    original_filters = module.filters[:]
-    original_showwarning = module.showwarning
     try:
         yield warning_obj if record else None
     finally: