Chromium Code Reviews| Index: webrtc/modules/audio_processing/test/debug_dump_test.cc |
| diff --git a/webrtc/modules/audio_processing/test/debug_dump_test.cc b/webrtc/modules/audio_processing/test/debug_dump_test.cc |
| index 60c1eb95117c1e59d66a330b207b93b2daf48b77..26cae0d437a502cc0bacfd3bab1836281d5d96a6 100644 |
| --- a/webrtc/modules/audio_processing/test/debug_dump_test.cc |
| +++ b/webrtc/modules/audio_processing/test/debug_dump_test.cc |
| @@ -341,6 +341,81 @@ TEST_F(DebugDumpTest, ToggleDelayAgnosticAec) { |
| VerifyDebugDump(generator.dump_file_name()); |
| } |
| +TEST_F(DebugDumpTest, VerifyRefinedAdaptiveFilterExperimentalString) { |
| + Config config; |
| + config.Set<RefinedAdaptiveFilter>(new RefinedAdaptiveFilter(true)); |
| + DebugDumpGenerator generator(config); |
| + generator.StartRecording(); |
| + generator.Process(100); |
| + generator.StopRecording(); |
| + |
| + DebugDumpReplayer debug_dump_replayer_; |
| + |
| + ASSERT_TRUE(debug_dump_replayer_.SetDumpFile(generator.dump_file_name())); |
| + |
| + while (const rtc::Optional<audioproc::Event> event = |
| + debug_dump_replayer_.GetNextEvent()) { |
| + debug_dump_replayer_.RunNextEvent(); |
| + if (event->type() == audioproc::Event::CONFIG) { |
| + const audioproc::Config* msg = &event->config(); |
| + EXPECT_TRUE(msg->has_experiments_description()); |
|
hlundin-webrtc
2016/04/15 09:24:02
What happens with the call to msg->experiments_des
peah-webrtc
2016/04/15 10:08:40
Good point!
Done.
|
| + EXPECT_NE(std::string::npos, |
|
hlundin-webrtc
2016/04/15 09:24:02
I believe you can use the following pattern instea
peah-webrtc
2016/04/15 10:08:40
Thanks! That change gave much nicer output!
Done.
|
| + msg->experiments_description().find("RefinedAdaptiveFilter")); |
| + } |
| + } |
| +} |
| + |
| +TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringInclusive) { |
| + Config config; |
| + config.Set<RefinedAdaptiveFilter>(new RefinedAdaptiveFilter(true)); |
| + config.Set<EchoCanceller3>(new EchoCanceller3(true)); |
| + DebugDumpGenerator generator(config); |
| + generator.StartRecording(); |
| + generator.Process(100); |
| + generator.StopRecording(); |
| + |
| + DebugDumpReplayer debug_dump_replayer_; |
| + |
| + ASSERT_TRUE(debug_dump_replayer_.SetDumpFile(generator.dump_file_name())); |
| + |
| + while (const rtc::Optional<audioproc::Event> event = |
| + debug_dump_replayer_.GetNextEvent()) { |
| + debug_dump_replayer_.RunNextEvent(); |
| + if (event->type() == audioproc::Event::CONFIG) { |
| + const audioproc::Config* msg = &event->config(); |
| + EXPECT_TRUE(msg->has_experiments_description()); |
| + EXPECT_NE(std::string::npos, |
| + msg->experiments_description().find("RefinedAdaptiveFilter")); |
| + EXPECT_NE(std::string::npos, msg->experiments_description().find("AEC3")); |
| + } |
| + } |
| +} |
| + |
| +TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringExclusive) { |
| + Config config; |
| + config.Set<RefinedAdaptiveFilter>(new RefinedAdaptiveFilter(true)); |
| + DebugDumpGenerator generator(config); |
| + generator.StartRecording(); |
| + generator.Process(100); |
| + generator.StopRecording(); |
| + |
| + DebugDumpReplayer debug_dump_replayer_; |
| + |
| + ASSERT_TRUE(debug_dump_replayer_.SetDumpFile(generator.dump_file_name())); |
| + |
| + while (const rtc::Optional<audioproc::Event> event = |
| + debug_dump_replayer_.GetNextEvent()) { |
| + debug_dump_replayer_.RunNextEvent(); |
| + if (event->type() == audioproc::Event::CONFIG) { |
| + const audioproc::Config* msg = &event->config(); |
| + EXPECT_TRUE(msg->has_experiments_description()); |
| + EXPECT_NE(std::string::npos, |
| + msg->experiments_description().find("RefinedAdaptiveFilter")); |
| + EXPECT_EQ(std::string::npos, msg->experiments_description().find("AEC3")); |
| + } |
| + } |
| +} |
| + |
| TEST_F(DebugDumpTest, VerifyAec3ExperimentalString) { |
| Config config; |
| config.Set<EchoCanceller3>(new EchoCanceller3(true)); |