PFFFT APM wrapper: unit test fix.
This CL replaces death tests placed inside a loop with a parametric test. A better option is to mock Pffft::IsValidFftSize and test CreatePffftWrapper when the former returns false. However, that would require to define an interface for the PFFFT wrapper. Bug: webrtc:10426 Change-Id: I3c49f1b271c8bf0099a4846014bef021676ef3e0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128862 Reviewed-by: Alex Loiko <aleloi@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27260}
This commit is contained in:
committed by
Commit Bot
parent
9debe5aee4
commit
9b1288c8ec
@ -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<size_t> {};
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user