diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2008-03-05 05:14:18 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2008-03-05 05:14:18 (GMT) |
commit | 218072595e815b584e78b7af97d01e14e9b919f5 (patch) | |
tree | 2e02ba68272a7b148231924d3084af35be89e877 | |
parent | 31e88934ed567f80cdcc671d05862cb58ce61b1b (diff) | |
download | cpython-218072595e815b584e78b7af97d01e14e9b919f5.zip cpython-218072595e815b584e78b7af97d01e14e9b919f5.tar.gz cpython-218072595e815b584e78b7af97d01e14e9b919f5.tar.bz2 |
Get this test to pass even when there is no sound card in the system.
Patch from Trent Nelson. (I can't test this.)
-rw-r--r-- | Lib/test/test_winsound.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py index 19d4459..5606c44 100644 --- a/Lib/test/test_winsound.py +++ b/Lib/test/test_winsound.py @@ -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): |