Sitelet https://github.com/python/cpython/commit/7a5dc75545dfd7733a4ad9ebdd0ae2748a6d9bf1
Skip to content

Commit 7a5dc75

Browse files
committed
#3567: fix sunau for running with -bb and make test_ossaudiodev work.
1 parent 47d305d commit 7a5dc75

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

‎Lib/sunau.py‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def _read_u32(file):
135135
x = 0
136136
for i in range(4):
137137
byte = file.read(1)
138-
if byte == '':
138+
if not byte:
139139
raise EOFError
140140
x = x*256 + ord(byte)
141141
return x
@@ -144,10 +144,9 @@ def _write_u32(file, x):
144144
data = []
145145
for i in range(4):
146146
d, m = divmod(x, 256)
147-
data.insert(0, m)
147+
data.insert(0, int(m))
148148
x = d
149-
for i in range(4):
150-
file.write(chr(int(data[i])))
149+
file.write(bytes(data))
151150

152151
class Au_read:
153152

@@ -198,7 +197,7 @@ def initfp(self, file):
198197
if self._hdr_size > 24:
199198
self._info = file.read(self._hdr_size - 24)
200199
for i in range(len(self._info)):
201-
if self._info[i] == '\0':
200+
if self._info[i] == b'\0':
202201
self._info = self._info[:i]
203202
break
204203
else:
@@ -451,7 +450,7 @@ def _write_header(self):
451450
_write_u32(self._file, self._framerate)
452451
_write_u32(self._file, self._nchannels)
453452
self._file.write(self._info)
454-
self._file.write('\0'*(header_size - len(self._info) - 24))
453+
self._file.write(b'\0'*(header_size - len(self._info) - 24))
455454

456455
def _patchheader(self):
457456
self._file.seek(8)

‎Lib/test/test_ossaudiodev.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ def play_sound_file(self, data, rate, ssize, nchannels):
5757
dsp.fileno()
5858

5959
# Make sure the read-only attributes work.
60-
self.failUnless(dsp.close)
60+
self.failIf(dsp.closed)
6161
self.assertEqual(dsp.name, "/dev/dsp")
6262
self.assertEqual(dsp.mode, "w", "bad dsp.mode: %r" % dsp.mode)
6363

6464
# And make sure they're really read-only.
6565
for attr in ('closed', 'name', 'mode'):
6666
try:
6767
setattr(dsp, attr, 42)
68-
except TypeError:
68+
except (TypeError, AttributeError):
6969
pass
7070
else:
7171
self.fail("dsp.%s not read-only" % attr)
@@ -75,7 +75,7 @@ def play_sound_file(self, data, rate, ssize, nchannels):
7575

7676
# set parameters based on .au file headers
7777
dsp.setparameters(AFMT_S16_NE, nchannels, rate)
78-
self.assertEquals("%.2f" % expected_time, "2.93")
78+
self.assertTrue(abs(expected_time - 2.94) < 1e-2, expected_time)
7979
t1 = time.time()
8080
dsp.write(data)
8181
dsp.close()

0 commit comments

Comments
 (0)