mirror of https://github.com/python/cpython
Deprecate the audiodev module for 3.0.
This commit is contained in:
parent
79618239d1
commit
e5d2cbaeaf
|
@ -47,6 +47,8 @@ Multimedia
|
||||||
:mod:`audiodev`
|
:mod:`audiodev`
|
||||||
--- Platform-independent API for playing audio data.
|
--- Platform-independent API for playing audio data.
|
||||||
|
|
||||||
|
.. warning:: The :mod:`audiodev` module has been removed in 3.0.
|
||||||
|
|
||||||
:mod:`linuxaudiodev`
|
:mod:`linuxaudiodev`
|
||||||
--- Play audio data on the Linux audio device. Replaced in Python 2.3 by the
|
--- Play audio data on the Linux audio device. Replaced in Python 2.3 by the
|
||||||
:mod:`ossaudiodev` module.
|
:mod:`ossaudiodev` module.
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
|
"""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"]
|
__all__ = ["error","AudioDev"]
|
||||||
|
|
||||||
|
|
|
@ -124,8 +124,42 @@ class TestPy3KWarnings(unittest.TestCase):
|
||||||
self.assertWarning(buffer('a'), w, expected)
|
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():
|
def test_main():
|
||||||
run_unittest(TestPy3KWarnings)
|
run_unittest(TestPy3KWarnings, TestStdlibRemovals)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_main()
|
test_main()
|
||||||
|
|
Loading…
Reference in New Issue