From 7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Sun, 17 Aug 2008 00:38:32 +0000 Subject: [PATCH] #3567: fix sunau for running with -bb and make test_ossaudiodev work. --- Lib/sunau.py | 11 +++++------ Lib/test/test_ossaudiodev.py | 6 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Lib/sunau.py b/Lib/sunau.py index b312501b35a..4d07f431bc1 100644 --- a/Lib/sunau.py +++ b/Lib/sunau.py @@ -135,7 +135,7 @@ def _read_u32(file): x = 0 for i in range(4): byte = file.read(1) - if byte == '': + if not byte: raise EOFError x = x*256 + ord(byte) return x @@ -144,10 +144,9 @@ def _write_u32(file, x): data = [] for i in range(4): d, m = divmod(x, 256) - data.insert(0, m) + data.insert(0, int(m)) x = d - for i in range(4): - file.write(chr(int(data[i]))) + file.write(bytes(data)) class Au_read: @@ -198,7 +197,7 @@ class Au_read: if self._hdr_size > 24: self._info = file.read(self._hdr_size - 24) for i in range(len(self._info)): - if self._info[i] == '\0': + if self._info[i] == b'\0': self._info = self._info[:i] break else: @@ -451,7 +450,7 @@ class Au_write: _write_u32(self._file, self._framerate) _write_u32(self._file, self._nchannels) self._file.write(self._info) - self._file.write('\0'*(header_size - len(self._info) - 24)) + self._file.write(b'\0'*(header_size - len(self._info) - 24)) def _patchheader(self): self._file.seek(8) diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py index e07ad1b095d..0e9ba45dfac 100644 --- a/Lib/test/test_ossaudiodev.py +++ b/Lib/test/test_ossaudiodev.py @@ -57,7 +57,7 @@ class OSSAudioDevTests(unittest.TestCase): dsp.fileno() # Make sure the read-only attributes work. - self.failUnless(dsp.close) + self.failIf(dsp.closed) self.assertEqual(dsp.name, "/dev/dsp") self.assertEqual(dsp.mode, "w", "bad dsp.mode: %r" % dsp.mode) @@ -65,7 +65,7 @@ class OSSAudioDevTests(unittest.TestCase): for attr in ('closed', 'name', 'mode'): try: setattr(dsp, attr, 42) - except TypeError: + except (TypeError, AttributeError): pass else: self.fail("dsp.%s not read-only" % attr) @@ -75,7 +75,7 @@ class OSSAudioDevTests(unittest.TestCase): # set parameters based on .au file headers dsp.setparameters(AFMT_S16_NE, nchannels, rate) - self.assertEquals("%.2f" % expected_time, "2.93") + self.assertTrue(abs(expected_time - 2.94) < 1e-2, expected_time) t1 = time.time() dsp.write(data) dsp.close()