| 75 | std::shared_ptr<io::InputStream>)>; |
| 76 | |
| 77 | void TestEmptyTable(TableReaderFactory reader_factory) { |
| 78 | auto empty_buffer = std::make_shared<Buffer>(""); |
| 79 | auto empty_input = std::make_shared<io::BufferReader>(empty_buffer); |
| 80 | auto maybe_reader = |
| 81 | reader_factory(empty_input, ParseOptions::Defaults(), /*block_size=*/{}); |
| 82 | // Streaming reader fails on open, table readers fail on first read |
| 83 | if (maybe_reader.ok()) { |
| 84 | ASSERT_FINISHES_AND_RAISES(Invalid, (*maybe_reader)->ReadAsync()); |
| 85 | } else { |
| 86 | ASSERT_TRUE(maybe_reader.status().IsInvalid()); |
| 87 | } |
| 88 | } |
| 89 | |
| 90 | void TestHeaderOnly(TableReaderFactory reader_factory) { |
| 91 | auto header_only_buffer = std::make_shared<Buffer>("a,b,c\n"); |