Repository navigation
Commit ab9e20f
authored
test: harden test_vmm_allocate_zero_size against parallel-run flakes (#3010)
test_vmm_allocate_zero_size asserts that grown.close() waits on the
recorded deallocation stream (done.is_done after a 200ms nanosleep). It
ran as PARALLEL under the free-threaded (py3.14t) job and failed on
aarch64 / A100 / CUDA 13.0.2 with assert done.is_done == False, while its
sibling test_vmm_close_synchronizes_recorded_streams (which is marked
thread_unsafe and wraps the close in assert_no_cuda_warning) passed.
The close path never raises: if cuStreamSynchronize is skipped (capture)
or fails, sync_recorded_stream reports a CUDAWarning and unmaps anyway,
so the failure surfaced as a bare event-check failure with no clue why.
Match the sibling test:
- Mark thread_unsafe so the free-threaded job runs it serially, matching
the other close-synchronizes tests that record process-global warnings.
- Wrap grown.close() in assert_no_cuda_warning() so a skipped/failed sync
surfaces as the warning text instead of a bare assert False.
If the test still fails when run serially on that job, it is a real
library bug in the VMM sync path rather than a parallel-execution
artifact.1 parent 6869849 commit ab9e20f
1 file changed
Lines changed: 5 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1765 | 1765 | | |
1766 | 1766 | | |
1767 | 1767 | | |
| 1768 | + | |
1768 | 1769 | | |
1769 | 1770 | | |
1770 | 1771 | | |
| |||
1780 | 1781 | | |
1781 | 1782 | | |
1782 | 1783 | | |
1783 | | - | |
| 1784 | + | |
| 1785 | + | |
1784 | 1786 | | |
1785 | 1787 | | |
1786 | | - | |
| 1788 | + | |
| 1789 | + | |
1787 | 1790 | | |
1788 | 1791 | | |
1789 | 1792 | | |
| |||
0 commit comments