| 650 | } |
| 651 | |
| 652 | void test_3_arg_vector_buffers_read() |
| 653 | { |
| 654 | boost::asio::io_context ioc; |
| 655 | test_stream s(ioc); |
| 656 | char read_buf[sizeof(read_data)]; |
| 657 | std::vector<boost::asio::mutable_buffer> buffers; |
| 658 | buffers.push_back(boost::asio::buffer(read_buf, 32)); |
| 659 | buffers.push_back(boost::asio::buffer(read_buf, 39) + 32); |
| 660 | buffers.push_back(boost::asio::buffer(read_buf) + 39); |
| 661 | |
| 662 | s.reset(read_data, sizeof(read_data)); |
| 663 | memset(read_buf, 0, sizeof(read_buf)); |
| 664 | size_t bytes_transferred = boost::asio::read(s, buffers, |
| 665 | boost::asio::transfer_all()); |
| 666 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 667 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 668 | |
| 669 | s.reset(read_data, sizeof(read_data)); |
| 670 | s.next_read_length(1); |
| 671 | memset(read_buf, 0, sizeof(read_buf)); |
| 672 | bytes_transferred = boost::asio::read(s, buffers, |
| 673 | boost::asio::transfer_all()); |
| 674 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 675 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 676 | |
| 677 | s.reset(read_data, sizeof(read_data)); |
| 678 | s.next_read_length(10); |
| 679 | memset(read_buf, 0, sizeof(read_buf)); |
| 680 | bytes_transferred = boost::asio::read(s, buffers, |
| 681 | boost::asio::transfer_all()); |
| 682 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 683 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 684 | |
| 685 | s.reset(read_data, sizeof(read_data)); |
| 686 | memset(read_buf, 0, sizeof(read_buf)); |
| 687 | bytes_transferred = boost::asio::read(s, buffers, |
| 688 | boost::asio::transfer_at_least(1)); |
| 689 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 690 | BOOST_ASIO_CHECK(s.check_buffers(buffers, sizeof(read_data))); |
| 691 | |
| 692 | s.reset(read_data, sizeof(read_data)); |
| 693 | s.next_read_length(1); |
| 694 | memset(read_buf, 0, sizeof(read_buf)); |
| 695 | bytes_transferred = boost::asio::read(s, buffers, |
| 696 | boost::asio::transfer_at_least(1)); |
| 697 | BOOST_ASIO_CHECK(bytes_transferred == 1); |
| 698 | BOOST_ASIO_CHECK(s.check_buffers(buffers, 1)); |
| 699 | |
| 700 | s.reset(read_data, sizeof(read_data)); |
| 701 | s.next_read_length(10); |
| 702 | memset(read_buf, 0, sizeof(read_buf)); |
| 703 | bytes_transferred = boost::asio::read(s, buffers, |
| 704 | boost::asio::transfer_at_least(1)); |
| 705 | BOOST_ASIO_CHECK(bytes_transferred == 10); |
| 706 | BOOST_ASIO_CHECK(s.check_buffers(buffers, 10)); |
| 707 | |
| 708 | s.reset(read_data, sizeof(read_data)); |
| 709 | memset(read_buf, 0, sizeof(read_buf)); |
nothing calls this directly
no test coverage detected