| 247 | } // namespace bytedance::bolt::exec::test |
| 248 | |
| 249 | TEST_F(ConcatFilesSpillMergeStreamTest, stream) { |
| 250 | struct { |
| 251 | size_t maxOutputRows; |
| 252 | size_t numStreams; |
| 253 | |
| 254 | std::string debugString() const { |
| 255 | return fmt::format( |
| 256 | "maxOutputRows:{} numStreams:{}", maxOutputRows, numStreams); |
| 257 | } |
| 258 | } testSettings[] = { |
| 259 | {1, 1}, |
| 260 | {1, 3}, |
| 261 | {1, 8}, |
| 262 | {7, 1}, |
| 263 | {7, 3}, |
| 264 | {7, 8}, |
| 265 | {16, 1}, |
| 266 | {16, 3}, |
| 267 | {16, 8}, |
| 268 | }; |
| 269 | |
| 270 | for (const auto& testData : testSettings) { |
| 271 | SCOPED_TRACE(testData.debugString()); |
| 272 | auto [totalVectors, spillStreams] = |
| 273 | generateInputs(testData.numStreams, testData.maxOutputRows); |
| 274 | std::vector<RowVectorPtr> results = mergeSpillStreams( |
| 275 | std::move(spillStreams), totalVectors.size(), testData.maxOutputRows); |
| 276 | ASSERT_EQ(totalVectors.size(), results.size()); |
| 277 | const auto expectedResults = |
| 278 | makeExpectedResults(totalVectors, testData.maxOutputRows); |
| 279 | ASSERT_EQ(expectedResults.size(), results.size()); |
| 280 | ASSERT_TRUE(assertEqualResults(expectedResults, results)); |
| 281 | } |
| 282 | } |
nothing calls this directly
no test coverage detected