Commit a6f5bf23 authored by Trent Nelson's avatar Trent Nelson

Ensure this test passes even if there are no soundcards in the system. Backport from trunk r61242.

parent 756c6c8c
......@@ -8,6 +8,13 @@ import subprocess
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 @@ class BeepTest(unittest.TestCase):
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):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment