[Python-checkins] r80028 - in python/branches/release31-maint: Lib/test/test_winsound.py

brian.curtin python-checkins at python.org
Tue Apr 13 04:37:06 CEST 2010


Author: brian.curtin
Date: Tue Apr 13 04:37:05 2010
New Revision: 80028

Log:
Merged revisions 80027 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80027 | brian.curtin | 2010-04-12 21:32:40 -0500 (Mon, 12 Apr 2010) | 11 lines
  
  Merged revisions 80026 via svnmerge from 
  svn+ssh://pythondev@svn.python.org/python/trunk
  
  ........
    r80026 | brian.curtin | 2010-04-12 21:25:20 -0500 (Mon, 12 Apr 2010) | 4 lines
    
    Fix #7306. Add skips to test_winsound when no default sound is configured.
    
    These failures occur on a Windows Server 2003 machine I test on.
  ........
................


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Lib/test/test_winsound.py

Modified: python/branches/release31-maint/Lib/test/test_winsound.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test_winsound.py	(original)
+++ python/branches/release31-maint/Lib/test/test_winsound.py	Tue Apr 13 04:37:05 2010
@@ -6,9 +6,22 @@
 import time
 import os
 import subprocess
+import winreg
 
 winsound = support.import_module('winsound')
 
+def has_sound(sound):
+    """Find out if a particular event is configured with a default sound"""
+    try:
+        key = winreg.OpenKeyEx(_winreg.HKEY_CURRENT_USER,
+                "AppEvents\Schemes\Apps\.Default\{0}\.Default".format(sound))
+        value = winreg.EnumValue(key, 0)[1]
+        if value is not u"":
+            return True
+        else:
+            return False
+    except WindowsError:
+        return False
 
 class BeepTest(unittest.TestCase):
     # As with PlaySoundTest, incorporate the _have_soundcard() check
@@ -84,6 +97,8 @@
             "none", winsound.SND_ASYNC | winsound.SND_MEMORY
         )
 
+    @unittest.skipUnless(has_sound("SystemAsterisk"),
+                         "No default SystemAsterisk")
     def test_alias_asterisk(self):
         if _have_soundcard():
             winsound.PlaySound('SystemAsterisk', winsound.SND_ALIAS)
@@ -94,6 +109,8 @@
                 'SystemAsterisk', winsound.SND_ALIAS
             )
 
+    @unittest.skipUnless(has_sound("SystemExclamation"),
+                         "No default SystemExclamation")
     def test_alias_exclamation(self):
         if _have_soundcard():
             winsound.PlaySound('SystemExclamation', winsound.SND_ALIAS)
@@ -104,6 +121,7 @@
                 'SystemExclamation', winsound.SND_ALIAS
             )
 
+    @unittest.skipUnless(has_sound("SystemExit"), "No default SystemExit")
     def test_alias_exit(self):
         if _have_soundcard():
             winsound.PlaySound('SystemExit', winsound.SND_ALIAS)
@@ -114,6 +132,7 @@
                 'SystemExit', winsound.SND_ALIAS
             )
 
+    @unittest.skipUnless(has_sound("SystemHand"), "No default SystemHand")
     def test_alias_hand(self):
         if _have_soundcard():
             winsound.PlaySound('SystemHand', winsound.SND_ALIAS)
@@ -124,6 +143,8 @@
                 'SystemHand', winsound.SND_ALIAS
             )
 
+    @unittest.skipUnless(has_sound("SystemQuestion"),
+                         "No default SystemQuestion")
     def test_alias_question(self):
         if _have_soundcard():
             winsound.PlaySound('SystemQuestion', winsound.SND_ALIAS)


More information about the Python-checkins mailing list