fix test_py3kwarns

The fact that this was failing and went unnoticed so long seems like a good argument for being able to enable and disble py3kwarnings through Python.
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 0d01572..0ddc979 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -4,6 +4,8 @@
                                TestSkipped, run_unittest)
 import warnings
 
+from contextlib import nested
+
 if not sys.py3kwarning:
     raise TestSkipped('%s must be run with the -3 flag' % __name__)
 
@@ -193,7 +195,7 @@
                                       'Explorer', 'Finder', 'Netscape',
                                       'StdSuites', 'SystemEvents', 'Terminal',
                                       'cfmfile', 'bundlebuilder', 'buildtools',
-                                      'ColorPicker'),
+                                      'ColorPicker', 'Audio_mac'),
                            'sunos5' : ('sunaudiodev', 'SUNAUDIODEV'),
                           }
     optional_modules = ('bsddb185', 'Canvas', 'dl', 'linuxaudiodev', 'imageop',
@@ -202,23 +204,22 @@
     def check_removal(self, module_name, optional=False):
         """Make sure the specified module, when imported, raises a
         DeprecationWarning and specifies itself in the message."""
-        with CleanImport(module_name):
-            with catch_warning(record=False):
-                warnings.filterwarnings("error", ".+ removed",
-                                        DeprecationWarning)
-                try:
-                    __import__(module_name, level=0)
-                except DeprecationWarning as exc:
-                    self.assert_(module_name in exc.args[0],
-                                 "%s warning didn't contain module name"
-                                 % module_name)
-                except ImportError:
-                    if not optional:
-                        self.fail("Non-optional module {0} raised an "
-                                  "ImportError.".format(module_name))
-                else:
-                    self.fail("DeprecationWarning not raised for {0}"
-                                .format(module_name))
+        with nested(CleanImport(module_name), catch_warning(record=False)):
+            warnings.filterwarnings("error", ".+ removed",
+                                    DeprecationWarning, __name__)
+            try:
+                __import__(module_name, level=0)
+            except DeprecationWarning as exc:
+                self.assert_(module_name in exc.args[0],
+                             "%s warning didn't contain module name"
+                             % module_name)
+            except ImportError:
+                if not optional:
+                    self.fail("Non-optional module {0} raised an "
+                              "ImportError.".format(module_name))
+            else:
+                self.fail("DeprecationWarning not raised for {0}"
+                            .format(module_name))
 
     def test_platform_independent_removals(self):
         # Make sure that the modules that are available on all platforms raise