Skip to content

Commit b33a7a3

Browse files
committed
fix: use object identity check instead of id() in buffer tests
id() can be reused after deallocation, and `obj is int` is always False. Save a reference before the operation and compare with `is` after to correctly verify the buffer is the same object.
1 parent 1ba0b9d commit b33a7a3

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

tests/test_audio_stream_track.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,12 @@ async def test_recv_does_not_reallocate_buffer(self):
317317
)
318318
await track.write(pcm)
319319

320-
# Store reference to the buffer object
321-
buffer_id = id(track._buffer)
320+
buffer_ref = track._buffer # save reference before recv
322321

323322
# Receive a frame (consumes 20ms from buffer)
324323
await track.recv()
325324

326-
assert id(track._buffer) == buffer_id, (
325+
assert track._buffer is buffer_ref, (
327326
"recv should modify buffer in-place, not create a new one"
328327
)
329328
assert len(track._buffer) == 960 * 2, (
@@ -346,7 +345,7 @@ async def test_buffer_overflow_does_not_reallocate(self):
346345
channels=1,
347346
)
348347
await track.write(pcm)
349-
buffer_id = id(track._buffer)
348+
buffer_ref = track._buffer # save reference before overflow
350349

351350
# Write 200ms of data (exceeds 100ms limit, triggers overflow trim)
352351
samples_200ms = np.zeros(9600, dtype=np.int16)
@@ -358,7 +357,7 @@ async def test_buffer_overflow_does_not_reallocate(self):
358357
)
359358
await track.write(pcm_large)
360359

361-
assert id(track._buffer) == buffer_id, (
360+
assert track._buffer is buffer_ref, (
362361
"overflow trim should modify buffer in-place, not create a new one"
363362
)
364363

0 commit comments

Comments
 (0)