]> granicus.if.org Git - python/commitdiff
The behaviour of winsound.Beep() seems to differ between different versions of Window...
authorTrent Nelson <trent.nelson@snakebite.org>
Tue, 18 Mar 2008 07:32:47 +0000 (07:32 +0000)
committerTrent Nelson <trent.nelson@snakebite.org>
Tue, 18 Mar 2008 07:32:47 +0000 (07:32 +0000)
    a) no sound card entirely
    b) legacy beep driver has been disabled
    c) the legacy beep driver has been uninstalled
Sometimes RuntimeErrors are raised, sometimes they're not.  If _have_soundcard() returns False, don't expect winsound.Beep() to raise a RuntimeError, as this clearly isn't the case, as demonstrated by the various Win32 XP buildbots.

Lib/test/test_winsound.py

index 5606c44cc09eccb6a8ef41ef8eb5c26c34514aa1..1c524c976ef3ff1cf4adf88b69ab1f489db3b21b 100644 (file)
@@ -26,8 +26,16 @@ class BeepTest(unittest.TestCase):
             winsound.Beep(37, 75)
             winsound.Beep(32767, 75)
         else:
-            self.assertRaises(RuntimeError, winsound.Beep, 37, 75)
-            self.assertRaises(RuntimeError, winsound.Beep, 32767, 75)
+            # The behaviour of winsound.Beep() seems to differ between
+            # different versions of Windows when there's either a) no
+            # sound card entirely, b) legacy beep driver has been disabled,
+            # or c) the legacy beep driver has been uninstalled.  Sometimes
+            # RuntimeErrors are raised, sometimes they're not.  Meh.
+            try:
+                winsound.Beep(37, 75)
+                winsound.Beep(32767, 75)
+            except RuntimeError:
+                pass
 
     def test_increasingfrequency(self):
         if _have_soundcard():