Deprecate the audiodev module for 3.0.

This commit is contained in:
Brett Cannon 2008-05-06 23:23:34 +00:00
parent 79618239d1
commit e5d2cbaeaf
3 changed files with 40 additions and 1 deletions

View File

@ -47,6 +47,8 @@ Multimedia
:mod:`audiodev`
--- Platform-independent API for playing audio data.
.. warning:: The :mod:`audiodev` module has been removed in 3.0.
:mod:`linuxaudiodev`
--- Play audio data on the Linux audio device. Replaced in Python 2.3 by the
:mod:`ossaudiodev` module.

View File

@ -1,4 +1,7 @@
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
from warnings import warnpy3k
warnpy3k("the audiodev module has been removed in Python 3.0", stacklevel=2)
del warnpy3k
__all__ = ["error","AudioDev"]

View File

@ -124,8 +124,42 @@ class TestPy3KWarnings(unittest.TestCase):
self.assertWarning(buffer('a'), w, expected)
class TestStdlibRemovals(unittest.TestCase):
all_platforms = ('audiodev',)
def check_removal(self, module_name):
"""Make sure the specified module, when imported, raises a
DeprecationWarning and specifies itself in the message."""
original_module = None
if module_name in sys.modules:
original_module = sys.modules[module_name]
del sys.modules[module_name]
try:
with catch_warning() as w:
warnings.filterwarnings("error", ".+ removed",
DeprecationWarning)
try:
__import__(module_name, level=0)
except DeprecationWarning as exc:
self.assert_(module_name in exc.args[0])
else:
self.fail("DeprecationWarning not raised for %s" %
module_name)
finally:
if original_module:
sys.modules[module_name] = original_module
def test_platform_independent_removals(self):
# Make sure that the modules that are available on all platforms raise
# the proper DeprecationWarning.
for module_name in self.all_platforms:
self.check_removal(module_name)
def test_main():
run_unittest(TestPy3KWarnings)
run_unittest(TestPy3KWarnings, TestStdlibRemovals)
if __name__ == '__main__':
test_main()