[Python-checkins] r61481 - python/branches/release25-maint/Lib/test/test_winsound.py
trent.nelson
python-checkins at python.org
Tue Mar 18 04:52:22 CET 2008
Author: trent.nelson
Date: Tue Mar 18 04:52:22 2008
New Revision: 61481
Modified:
python/branches/release25-maint/Lib/test/test_winsound.py
Log:
Ensure this test passes even if there are no soundcards in the system. Backport from trunk r61242.
Modified: python/branches/release25-maint/Lib/test/test_winsound.py
==============================================================================
--- python/branches/release25-maint/Lib/test/test_winsound.py (original)
+++ python/branches/release25-maint/Lib/test/test_winsound.py Tue Mar 18 04:52:22 2008
@@ -8,6 +8,13 @@
class BeepTest(unittest.TestCase):
+ # As with PlaySoundTest, incorporate the _have_soundcard() check
+ # into our test methods. If there's no audio device present,
+ # winsound.Beep returns 0 and GetLastError() returns 127, which
+ # is: ERROR_PROC_NOT_FOUND ("The specified procedure could not
+ # be found"). (FWIW, virtual/Hyper-V systems fall under this
+ # scenario as they have no sound devices whatsoever (not even
+ # a legacy Beep device).)
def test_errors(self):
self.assertRaises(TypeError, winsound.Beep)
@@ -15,12 +22,17 @@
self.assertRaises(ValueError, winsound.Beep, 32768, 75)
def test_extremes(self):
- winsound.Beep(37, 75)
- winsound.Beep(32767, 75)
+ if _have_soundcard():
+ winsound.Beep(37, 75)
+ winsound.Beep(32767, 75)
+ else:
+ self.assertRaises(RuntimeError, winsound.Beep, 37, 75)
+ self.assertRaises(RuntimeError, winsound.Beep, 32767, 75)
def test_increasingfrequency(self):
- for i in xrange(100, 2000, 100):
- winsound.Beep(i, 75)
+ if _have_soundcard():
+ for i in xrange(100, 2000, 100):
+ winsound.Beep(i, 75)
class MessageBeepTest(unittest.TestCase):
More information about the Python-checkins
mailing list