Skip to content

Commit 9e8f582

Browse files
committed
test: cover invalid borrowed receive view lifecycle operations
1 parent 0ba497c commit 9e8f582

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

‎tests/ep/test_recv_view.py‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@ def check(payload, recv_ids, recv_weights, handle):
7777
def dispatch(borrow, value=x):
7878
result = buffer.dispatch(value, borrow_recv=borrow, **kwargs)
7979
if asynchronous:
80+
if borrow:
81+
# A failed early release must leave the lease usable after waiting.
82+
pending_view = result[0]
83+
rejected(pending_view.wait, RuntimeError)
84+
rejected(lambda: pending_view.slab, RuntimeError)
85+
rejected(lambda: pending_view.row_indices, RuntimeError)
86+
rejected(pending_view.release, RuntimeError)
8087
result[-1].current_stream_wait()
8188
return result[:4]
8289

@@ -89,6 +96,9 @@ def dispatch(borrow, value=x):
8996
rejected(buffer.destroy, RuntimeError)
9097
view.release()
9198
rejected(lambda: view.slab, RuntimeError)
99+
rejected(lambda: view.row_indices, RuntimeError)
100+
rejected(view.wait, RuntimeError)
101+
rejected(view.release, RuntimeError)
92102

93103
replay, _, _, _, event = buffer.dispatch(x, handle=handle, num_sms=8, async_with_compute_stream=True)
94104
event.current_stream_wait()
@@ -124,6 +134,8 @@ def dispatch(borrow, value=x):
124134
for extra in [dict(do_expand=True), dict(defer_epilogue=True), dict(do_cpu_sync=False), dict(handle=handle)]:
125135
rejected(lambda extra=extra: buffer.dispatch(x, borrow_recv=True, **(kwargs | extra)), ValueError)
126136
rejected(lambda: buffer.dispatch(x.float(), borrow_recv=True, **kwargs), ValueError)
137+
fp8 = (x.to(torch.float8_e4m3fn), torch.ones((tokens, hidden // 128), device=x.device))
138+
rejected(lambda: buffer.dispatch(fp8, borrow_recv=True, **kwargs), ValueError)
127139
dist.barrier()
128140
buffer.destroy()
129141

0 commit comments

Comments
 (0)