]> granicus.if.org Git - python/commitdiff
test_alias_nofallback(): Someone broke this test, after 2.3, by
authorTim Peters <tim.peters@gmail.com>
Sun, 16 May 2004 05:36:30 +0000 (05:36 +0000)
committerTim Peters <tim.peters@gmail.com>
Sun, 16 May 2004 05:36:30 +0000 (05:36 +0000)
converting it into assertRaises() form.  Restored the 2.3 code, and
explained why assertRaises() cannot be used instead.

Lib/test/test_winsound.py

index d9d2892a6ebb58fe58c8ad09b08ee4e9d83307df..77c432ac4ab0836d4adb220dd474b3b8a14cb2b3 100644 (file)
@@ -85,8 +85,24 @@ class PlaySoundTest(unittest.TestCase):
         return
 
     def test_alias_nofallback(self):
-        self.assertRaises(RuntimeError, winsound.PlaySound, '!"$%&/(#+*',
-                          winsound.SND_ALIAS | winsound.SND_NODEFAULT)
+        # Note that this is not the same as asserting RuntimeError
+        # will get raised:  you cannot convert this to
+        # self.assertRaises(...) form.  The attempt may or may not
+        # raise RuntimeError, but it shouldn't raise anything other
+        # than RuntimeError, and that's all we're trying to test here.
+        # The MS docs aren't clear about whether the SDK PlaySound()
+        # with SND_ALIAS and SND_NODEFAULT will return True or False when
+        # the alias is unknown.  On Tim's WinXP box today, it returns
+        # True (no exception is raised).  What we'd really like to test
+        # is that no sound is played, but that requires first wiring an
+        # eardrum class into unittest <wink>.
+        try:
+            winsound.PlaySound(
+                '!"$%&/(#+*',
+                winsound.SND_ALIAS | winsound.SND_NODEFAULT
+            )
+        except RuntimeError:
+            pass
 
     def test_stopasync(self):
         winsound.PlaySound(