(self, tmpdir, use_cuda_pinned_tensor, single_submit, overlap_events, use_unpinned_tensor)
| 188 | |
| 189 | @pytest.mark.parametrize("use_unpinned_tensor", [True, False]) |
| 190 | def test_async_write(self, tmpdir, use_cuda_pinned_tensor, single_submit, overlap_events, use_unpinned_tensor): |
| 191 | _skip_for_invalid_environment(use_cuda_pinned_tensor=use_cuda_pinned_tensor) |
| 192 | |
| 193 | ref_file, ref_buffer = _do_ref_write(tmpdir) |
| 194 | |
| 195 | h = AsyncIOBuilder().load().aio_handle(BLOCK_SIZE, QUEUE_DEPTH, single_submit, overlap_events, IO_PARALLEL) |
| 196 | use_cpu_locked_tensor = False |
| 197 | if use_unpinned_tensor: |
| 198 | aio_file, aio_buffer = _get_test_write_file_and_unpinned_tensor(tmpdir, ref_buffer) |
| 199 | elif use_cuda_pinned_tensor: |
| 200 | aio_file, aio_buffer = _get_test_write_file_and_pinned_tensor(tmpdir, ref_buffer) |
| 201 | else: |
| 202 | aio_file, aio_buffer = _get_test_write_file_and_pinned_tensor(tmpdir, ref_buffer, h) |
| 203 | use_cpu_locked_tensor = True |
| 204 | |
| 205 | _validate_handle_state(h, single_submit, overlap_events) |
| 206 | |
| 207 | write_status = h.async_pwrite(aio_buffer, aio_file, 0) |
| 208 | assert write_status == 0 |
| 209 | |
| 210 | wait_status = h.wait() |
| 211 | assert wait_status == 1 |
| 212 | |
| 213 | if use_cpu_locked_tensor: |
| 214 | h.free_cpu_locked_tensor(aio_buffer) |
| 215 | |
| 216 | assert os.path.isfile(aio_file) |
| 217 | |
| 218 | filecmp.clear_cache() |
| 219 | assert filecmp.cmp(ref_file, aio_file, shallow=False) |
| 220 | |
| 221 | |
| 222 | @pytest.mark.sequential |
nothing calls this directly
no test coverage detected