Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Unified Diff: webrtc/api/webrtcsession_unittest.cc

Issue 1919523002: Fix the flaky WebRtcSessionTest.TestRtxRemovedByCreateAnswer. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rename the functions. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/webrtcsession_unittest.cc
diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc
index 5e9b0390aa9d210af61009eb5cb8d8cc5d762506..34d82582c61ad54df6aa99641ae819e18dd74e6d 100644
--- a/webrtc/api/webrtcsession_unittest.cc
+++ b/webrtc/api/webrtcsession_unittest.cc
@@ -1113,6 +1113,22 @@ class WebRtcSessionTest
EXPECT_EQ(can, session_->CanInsertDtmf(kAudioTrack1));
}
+ bool ContainsVideoCodecWithName(const SessionDescriptionInterface* desc,
+ const std::string& codec_name) {
+ for (const auto& content : desc->description()->contents()) {
+ if (static_cast<cricket::MediaContentDescription*>(content.description)
+ ->type() == cricket::MEDIA_TYPE_VIDEO) {
+ const auto* mdesc =
+ static_cast<cricket::VideoContentDescription*>(content.description);
+ for (const auto& codec : mdesc->codecs()) {
+ if (codec.name == codec_name) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
// Helper class to configure loopback network and verify Best
// Connection using right IP protocol for TestLoopbackCall
// method. LoopbackNetworkManager applies firewall rules to block
@@ -4277,15 +4293,9 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
SetLocalDescriptionWithoutError(answer);
}
-// Flaky on Win and Mac only. See webrtc:4943
-#if defined(WEBRTC_WIN) || defined(WEBRTC_MAC)
-#define MAYBE_TestRtxRemovedByCreateAnswer DISABLED_TestRtxRemovedByCreateAnswer
-#else
-#define MAYBE_TestRtxRemovedByCreateAnswer TestRtxRemovedByCreateAnswer
-#endif
// Tests that RTX codec is removed from the answer when it isn't supported
// by local side.
-TEST_F(WebRtcSessionTest, MAYBE_TestRtxRemovedByCreateAnswer) {
+TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
Init();
SendAudioVideoStream1();
std::string offer_sdp(kSdpWithRtx);
@@ -4295,14 +4305,12 @@ TEST_F(WebRtcSessionTest, MAYBE_TestRtxRemovedByCreateAnswer) {
EXPECT_TRUE(offer->ToString(&offer_sdp));
// Offer SDP contains the RTX codec.
- EXPECT_TRUE(offer_sdp.find("rtx") != std::string::npos);
+ EXPECT_TRUE(ContainsVideoCodecWithName(offer, "rtx"));
SetRemoteDescriptionWithoutError(offer);
SessionDescriptionInterface* answer = CreateAnswer();
- std::string answer_sdp;
- answer->ToString(&answer_sdp);
- // Answer SDP removes the unsupported RTX codec.
- EXPECT_TRUE(answer_sdp.find("rtx") == std::string::npos);
+ // Answer SDP does not contain the RTX codec.
+ EXPECT_FALSE(ContainsVideoCodecWithName(answer, "rtx"));
SetLocalDescriptionWithoutError(answer);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698