| 451 | |
| 452 | template <std::derived_from<arrow::util::CodecOptions> T> |
| 453 | void CheckSpecifyCodecOptions(Compression::type compression, |
| 454 | std::span<const std::pair<T, bool>> options) { |
| 455 | if (!Codec::IsAvailable(compression)) { |
| 456 | GTEST_SKIP() << "Support for this codec hasn't been built"; |
| 457 | } |
| 458 | |
| 459 | std::vector<uint8_t> data = MakeRandomData(2000); |
| 460 | for (const auto& [codec_option, expect_success] : options) { |
| 461 | auto result1 = Codec::Create(compression, codec_option); |
| 462 | auto result2 = Codec::Create(compression, codec_option); |
| 463 | ASSERT_EQ(expect_success, result1.ok()); |
| 464 | ASSERT_EQ(expect_success, result2.ok()); |
| 465 | if (expect_success) { |
| 466 | CheckCodecRoundtrip(*result1, *result2, data); |
| 467 | } |
| 468 | } |
| 469 | } |
| 470 | |
| 471 | TEST(TestCodecMisc, SpecifyCodecOptionsGZip) { |
| 472 | auto make_option = [](int compression_level, GZipFormat format, |
nothing calls this directly
no test coverage detected