diff --git a/modules/audio_processing/utility/pffft_wrapper_unittest.cc b/modules/audio_processing/utility/pffft_wrapper_unittest.cc index 8ec2208f98..70c5ce52f2 100644 --- a/modules/audio_processing/utility/pffft_wrapper_unittest.cc +++ b/modules/audio_processing/utility/pffft_wrapper_unittest.cc @@ -122,17 +122,42 @@ TEST(PffftTest, CreateWrapperWithValidSize) { } #if !defined(NDEBUG) && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID) -TEST(PffftTest, DoNotCreateWrapperWithInvalidSize) { - for (size_t fft_size = 0; fft_size < kMaxValidSizeCheck; ++fft_size) { - SCOPED_TRACE(fft_size); - if (!Pffft::IsValidFftSize(fft_size, Pffft::FftType::kReal)) { - EXPECT_DEATH(CreatePffftWrapper(fft_size, Pffft::FftType::kReal), ""); - } - if (!Pffft::IsValidFftSize(fft_size, Pffft::FftType::kComplex)) { - EXPECT_DEATH(CreatePffftWrapper(fft_size, Pffft::FftType::kComplex), ""); - } - } + +class PffftInvalidSizeTest : public testing::Test, + public ::testing::WithParamInterface {}; + +TEST_P(PffftInvalidSizeTest, DoNotCreateRealWrapper) { + size_t fft_size = GetParam(); + ASSERT_FALSE(Pffft::IsValidFftSize(fft_size, Pffft::FftType::kReal)); + EXPECT_DEATH(CreatePffftWrapper(fft_size, Pffft::FftType::kReal), ""); } + +TEST_P(PffftInvalidSizeTest, DoNotCreateComplexWrapper) { + size_t fft_size = GetParam(); + ASSERT_FALSE(Pffft::IsValidFftSize(fft_size, Pffft::FftType::kComplex)); + EXPECT_DEATH(CreatePffftWrapper(fft_size, Pffft::FftType::kComplex), ""); +} + +INSTANTIATE_TEST_SUITE_P(PffftTest, + PffftInvalidSizeTest, + ::testing::Values(17, + 33, + 65, + 97, + 129, + 161, + 193, + 257, + 289, + 385, + 481, + 513, + 577, + 641, + 801, + 865, + 1025)); + #endif // TODO(https://crbug.com/webrtc/9577): Enable once SIMD is always enabled.