summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Curtin <brian.curtin@gmail.com>2010-06-01 13:52:18 (GMT)
committerBrian Curtin <brian.curtin@gmail.com>2010-06-01 13:52:18 (GMT)
commitf879c7911f73604aa95f4f041ba2107b23fcc534 (patch)
tree8361b829979ffe9835477d14bb1865b518160846
parentefafdc7d103c6773621c8d200935939a672a127d (diff)
downloadcpython-f879c7911f73604aa95f4f041ba2107b23fcc534.zip
cpython-f879c7911f73604aa95f4f041ba2107b23fcc534.tar.gz
cpython-f879c7911f73604aa95f4f041ba2107b23fcc534.tar.bz2
Merged revisions 81642 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r81642 | brian.curtin | 2010-06-01 08:49:19 -0500 (Tue, 01 Jun 2010) | 10 lines Merged revisions 81640 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r81640 | brian.curtin | 2010-06-01 08:29:13 -0500 (Tue, 01 Jun 2010) | 3 lines Fix #8618. Ask the Windows mixer API if there are any playback devices configured before attempting to test PlaySound. ........ ................
-rw-r--r--Lib/test/test_winsound.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py
index 88aed77..bd95048 100644
--- a/Lib/test/test_winsound.py
+++ b/Lib/test/test_winsound.py
@@ -6,6 +6,7 @@ support.requires('audio')
import time
import os
import subprocess
+import ctypes
winsound = support.import_module('winsound')
import winreg
@@ -13,6 +14,11 @@ import winreg
def has_sound(sound):
"""Find out if a particular event is configured with a default sound"""
try:
+ # Ask the mixer API for the number of devices it knows about.
+ # When there are no devices, PlaySound will fail.
+ if ctypes.windll.winmm.mixerGetNumDevs() is 0:
+ return False
+
key = winreg.OpenKeyEx(winreg.HKEY_CURRENT_USER,
"AppEvents\Schemes\Apps\.Default\{0}\.Default".format(sound))
value = winreg.EnumValue(key, 0)[1]