| Benjamin Peterson | bec087f | 2009-03-26 21:10:30 +0000 | [diff] [blame] | 1 | from test.test_support import findfile, TestFailed, import_module |
| 2 | import unittest | ||||
| Brett Cannon | 2224817 | 2008-05-16 00:10:24 +0000 | [diff] [blame] | 3 | sunaudiodev = import_module('sunaudiodev', deprecated=True) |
| Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 4 | import os |
| 5 | |||||
| Fred Drake | b891891 | 2001-04-14 03:10:12 +0000 | [diff] [blame] | 6 | try: |
| 7 | audiodev = os.environ["AUDIODEV"] | ||||
| 8 | except KeyError: | ||||
| 9 | audiodev = "/dev/audio" | ||||
| 10 | |||||
| 11 | if not os.path.exists(audiodev): | ||||
| Benjamin Peterson | bec087f | 2009-03-26 21:10:30 +0000 | [diff] [blame] | 12 | raise unittest.SkipTest("no audio device found!") |
| Fred Drake | b891891 | 2001-04-14 03:10:12 +0000 | [diff] [blame] | 13 | |
| Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 14 | def play_sound_file(path): |
| 15 | fp = open(path, 'r') | ||||
| 16 | data = fp.read() | ||||
| 17 | fp.close() | ||||
| Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 18 | try: |
| Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 19 | a = sunaudiodev.open('w') |
| Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 20 | except sunaudiodev.error, msg: |
| Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 21 | raise TestFailed, msg |
| Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 22 | else: |
| Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 23 | a.write(data) |
| 24 | a.close() | ||||
| Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 25 | |
| Brett Cannon | 7dbd918 | 2008-03-03 04:19:29 +0000 | [diff] [blame] | 26 | |
| 27 | def test_main(): | ||||
| Barry Warsaw | b241c42 | 1997-01-13 20:34:44 +0000 | [diff] [blame] | 28 | play_sound_file(findfile('audiotest.au')) |
| Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 29 | |
| Brett Cannon | 7dbd918 | 2008-03-03 04:19:29 +0000 | [diff] [blame] | 30 | |
| 31 | |||||
| 32 | if __name__ == '__main__': | ||||
| 33 | test_main() | ||||