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.
  ........
................
This commit is contained in:
Brian Curtin 2010-04-13 02:37:05 +00:00
parent 4c4d3b1ddd
commit 1bc6f6ea5e
1 changed files with 21 additions and 0 deletions

View File

@ -6,9 +6,22 @@ support.requires('audio')
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 @@ class PlaySoundTest(unittest.TestCase):
"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 @@ class PlaySoundTest(unittest.TestCase):
'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 @@ class PlaySoundTest(unittest.TestCase):
'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 @@ class PlaySoundTest(unittest.TestCase):
'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 @@ class PlaySoundTest(unittest.TestCase):
'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)