MCPcopy Create free account
hub / github.com/apache/arrow / TEST_P

Function TEST_P

cpp/src/arrow/ipc/read_write_test.cc:118–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

116}
117
118TEST_P(TestMessage, SerializeTo) {
119 const int64_t body_length = 64;
120
121 flatbuffers::FlatBufferBuilder fbb;
122 fbb.Finish(flatbuf::CreateMessage(fbb, fb_version_,
123 flatbuf::MessageHeader::MessageHeader_RecordBatch,
124 0 /* header */, body_length));
125
126 std::shared_ptr<Buffer> metadata;
127 ASSERT_OK_AND_ASSIGN(metadata, internal::WriteFlatbufferBuilder(fbb));
128
129 std::string body = "abcdef";
130
131 ASSERT_OK_AND_ASSIGN(std::unique_ptr<Message> message,
132 Message::Open(metadata, std::make_shared<Buffer>(body)));
133
134 auto CheckWithAlignment = [&](int32_t alignment) {
135 options_.alignment = alignment;
136 const int32_t prefix_size = 8;
137 int64_t output_length = 0;
138 ASSERT_OK_AND_ASSIGN(auto stream, io::BufferOutputStream::Create(1 << 10));
139 ASSERT_OK(message->SerializeTo(stream.get(), options_, &output_length));
140 ASSERT_EQ(bit_util::RoundUp(metadata->size() + prefix_size, alignment) + body_length,
141 output_length);
142 ASSERT_OK_AND_EQ(output_length, stream->Tell());
143 ASSERT_OK_AND_ASSIGN(auto buffer, stream->Finish());
144 // check whether length is written in little endian
145 auto buffer_ptr = buffer.get()->data();
146 ASSERT_EQ(output_length - body_length - prefix_size,
147 bit_util::FromLittleEndian(*(uint32_t*)(buffer_ptr + 4)));
148 };
149
150 CheckWithAlignment(8);
151 CheckWithAlignment(64);
152}
153
154TEST_P(TestMessage, SerializeCustomMetadata) {
155 std::vector<std::shared_ptr<KeyValueMetadata>> cases = {

Callers

nothing calls this directly

Calls 15

CreateMessageFunction · 0.85
WriteFlatbufferBuilderFunction · 0.85
RoundUpFunction · 0.85
key_value_metadataFunction · 0.85
WriteRecordBatchMessageFunction · 0.85
MakeIntBatchSizedFunction · 0.85
GetRecordBatchPayloadFunction · 0.85
WriteIpcPayloadFunction · 0.85
ReadMessageFunction · 0.85
BuffersOverlapEqualsFunction · 0.85
CheckRoundtripFunction · 0.85
SerializeToMethod · 0.80

Tested by

no test coverage detected