mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Deprecate the audiodev module for 3.0.
This commit is contained in:
		
							parent
							
								
									79618239d1
								
							
						
					
					
						commit
						e5d2cbaeaf
					
				
					 3 changed files with 40 additions and 1 deletions
				
			
		|  | @ -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 @@ def test_buffer(self): | ||||||
|             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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brett Cannon
						Brett Cannon