Issue #19987: Re-write test_alias_fallback in test_winsound to have two
acceptable outcomes: success or RuntimeError. Without being able to
actually hear whether a sound was played, either one could be right, but
any other error would be a failure.
diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py
index 6d8649a..4208fe7 100644
--- a/Lib/test/test_winsound.py
+++ b/Lib/test/test_winsound.py
@@ -159,14 +159,15 @@
)
def test_alias_fallback(self):
- if _have_soundcard():
+ # In the absense of the ability to tell if a sound was actually
+ # played, this test has two acceptable outcomes: success (no error,
+ # sound was theoretically played; although as issue #19987 shows
+ # a box without a soundcard can "succeed") or RuntimeError. Any
+ # other error is a failure.
+ try:
winsound.PlaySound('!"$%&/(#+*', winsound.SND_ALIAS)
- else:
- self.assertRaises(
- RuntimeError,
- winsound.PlaySound,
- '!"$%&/(#+*', winsound.SND_ALIAS
- )
+ except RuntimeError:
+ pass
def test_alias_nofallback(self):
if _have_soundcard():