]> granicus.if.org Git - python/commitdiff
Test of the sunaudiodev module -- it simply plays a sound if it can
authorBarry Warsaw <barry@python.org>
Tue, 7 Jan 1997 21:05:29 +0000 (21:05 +0000)
committerBarry Warsaw <barry@python.org>
Tue, 7 Jan 1997 21:05:29 +0000 (21:05 +0000)
find one and doesn't output any data that can be verified.  If it
can't find a sound file by looking in the standard Solaris locations
(which we can extend later), it raises an ImportError.

Lib/test/output/test_sunaudiodev [new file with mode: 0644]
Lib/test/test_sunaudiodev.py [new file with mode: 0644]

diff --git a/Lib/test/output/test_sunaudiodev b/Lib/test/output/test_sunaudiodev
new file mode 100644 (file)
index 0000000..eaf6805
--- /dev/null
@@ -0,0 +1 @@
+test_sunaudiodev
diff --git a/Lib/test/test_sunaudiodev.py b/Lib/test/test_sunaudiodev.py
new file mode 100644 (file)
index 0000000..586cfb9
--- /dev/null
@@ -0,0 +1,38 @@
+from test_support import verbose, TestFailed
+import sunaudiodev
+import os
+
+OS_AUDIO_DIRS = [
+    '/usr/demo/SOUND/sounds/',         # Solaris 2.x
+    ]
+
+
+def play_sound_file(path):
+    fp = open(path, 'r')
+    data = fp.read()
+    fp.close()
+    a = sunaudiodev.open('w')
+    a.write(data)
+    a.close()
+
+def test():
+    for d in OS_AUDIO_DIRS:
+       try:
+           files = os.listdir(d)
+           break
+       except os.error:
+           pass
+    else:
+       # test couldn't be conducted on this platform
+       raise ImportError
+    for f in files:
+       path = os.path.join(d, f)
+       try:
+           play_sound_file(path)
+           break
+       except:
+           pass
+    else:
+       raise TestFailed, "couldn't play any sounds"
+
+test()