mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-04 05:53:13 +00:00
tests/fragmented_temporary_buffer_test: Add unit test for skip()
Signed-off-by: Duarte Nunes <duarte@scylladb.com>
This commit is contained in:
@@ -410,4 +410,26 @@ SEASTAR_THREAD_TEST_CASE(test_read_fragmented_buffer) {
|
||||
|
||||
in.close().get();
|
||||
}
|
||||
}
|
||||
|
||||
SEASTAR_THREAD_TEST_CASE(test_skip) {
|
||||
auto test = [&] (auto expected_value1, auto expected_value2, fragmented_temporary_buffer& ftb) {
|
||||
using type1 = std::decay_t<decltype(expected_value1)>;
|
||||
using type2 = std::decay_t<decltype(expected_value2)>;
|
||||
|
||||
auto in = ftb.get_istream();
|
||||
BOOST_CHECK_EQUAL(in.bytes_left(), sizeof(type1) + sizeof(type2));
|
||||
in.skip(sizeof(type1));
|
||||
BOOST_CHECK_EQUAL(in.bytes_left(), sizeof(type2));
|
||||
BOOST_CHECK_EQUAL(in.read<type2>(), expected_value2);
|
||||
BOOST_CHECK_EQUAL(in.bytes_left(), 0);
|
||||
in.skip(sizeof(type2));
|
||||
BOOST_CHECK_EQUAL(in.bytes_left(), 0);
|
||||
};
|
||||
|
||||
auto [ buffers, value1, value2 ] = get_buffers();
|
||||
for (auto& frag_buffer : buffers) {
|
||||
test(value1, value2, frag_buffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user