summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2008-08-17 00:38:32 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2008-08-17 00:38:32 (GMT)
commit7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1 (patch)
tree4cbe83b49667fea0c26fc0d66eab1391ef9b8235
parent47d305d6891ebc049153086585a3b486cb71a415 (diff)
downloadcpython-7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1.zip
cpython-7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1.tar.gz
cpython-7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1.tar.bz2
#3567: fix sunau for running with -bb and make test_ossaudiodev work.
-rw-r--r--Lib/sunau.py11
-rw-r--r--Lib/test/test_ossaudiodev.py6
2 files changed, 8 insertions, 9 deletions
diff --git a/Lib/sunau.py b/Lib/sunau.py
index b312501..4d07f43 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 e07ad1b..0e9ba45 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()