From 4710c53dcad1ebf3755f3efb9e80ac24bd72a9b2 Mon Sep 17 00:00:00 2001 From: darylm503 Date: Mon, 16 Apr 2012 22:12:42 +0000 Subject: AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site. These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Python-2.7.2/Lib/test/test_linuxaudiodev.py | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_linuxaudiodev.py (limited to 'AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_linuxaudiodev.py') diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_linuxaudiodev.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_linuxaudiodev.py new file mode 100644 index 0000000000..738c448979 --- /dev/null +++ b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_linuxaudiodev.py @@ -0,0 +1,99 @@ +from test import test_support +test_support.requires('audio') + +from test.test_support import findfile, run_unittest + +import errno +import sys +import audioop +import unittest + +linuxaudiodev = test_support.import_module('linuxaudiodev', deprecated=True) +sunaudio = test_support.import_module('sunaudio', deprecated=True) + +SND_FORMAT_MULAW_8 = 1 + +class LinuxAudioDevTests(unittest.TestCase): + + def setUp(self): + self.dev = linuxaudiodev.open('w') + + def tearDown(self): + self.dev.close() + + def test_methods(self): + # at least check that these methods can be invoked + self.dev.bufsize() + self.dev.obufcount() + self.dev.obuffree() + self.dev.getptr() + self.dev.fileno() + + def test_play_sound_file(self): + path = findfile("audiotest.au") + fp = open(path, 'r') + size, enc, rate, nchannels, extra = sunaudio.gethdr(fp) + data = fp.read() + fp.close() + + if enc != SND_FORMAT_MULAW_8: + self.fail("Expect .au file with 8-bit mu-law samples") + + # convert the data to 16-bit signed + data = audioop.ulaw2lin(data, 2) + + # set the data format + if sys.byteorder == 'little': + fmt = linuxaudiodev.AFMT_S16_LE + else: + fmt = linuxaudiodev.AFMT_S16_BE + + # set parameters based on .au file headers + self.dev.setparameters(rate, 16, nchannels, fmt) + self.dev.write(data) + self.dev.flush() + + def test_errors(self): + size = 8 + fmt = linuxaudiodev.AFMT_U8 + rate = 8000 + nchannels = 1 + try: + self.dev.setparameters(-1, size, nchannels, fmt) + except ValueError, err: + self.assertEqual(err.args[0], "expected rate >= 0, not -1") + try: + self.dev.setparameters(rate, -2, nchannels, fmt) + except ValueError, err: + self.assertEqual(err.args[0], "expected sample size >= 0, not -2") + try: + self.dev.setparameters(rate, size, 3, fmt) + except ValueError, err: + self.assertEqual(err.args[0], "nchannels must be 1 or 2, not 3") + try: + self.dev.setparameters(rate, size, nchannels, 177) + except ValueError, err: + self.assertEqual(err.args[0], "unknown audio encoding: 177") + try: + self.dev.setparameters(rate, size, nchannels, linuxaudiodev.AFMT_U16_LE) + except ValueError, err: + self.assertEqual(err.args[0], "for linear unsigned 16-bit little-endian " + "audio, expected sample size 16, not 8") + try: + self.dev.setparameters(rate, 16, nchannels, fmt) + except ValueError, err: + self.assertEqual(err.args[0], "for linear unsigned 8-bit audio, expected " + "sample size 8, not 16") + +def test_main(): + try: + dsp = linuxaudiodev.open('w') + except linuxaudiodev.error, msg: + if msg.args[0] in (errno.EACCES, errno.ENOENT, errno.ENODEV, errno.EBUSY): + raise unittest.SkipTest(msg) + raise + dsp.close() + run_unittest(LinuxAudioDevTests) + +if __name__ == '__main__': + test_main() -- cgit v1.2.3