Index: content/browser/media/webrtc_browsertest.cc |
diff --git a/content/browser/media/webrtc_browsertest.cc b/content/browser/media/webrtc_browsertest.cc |
index 820dbd9b6973fdddb52c7d481a3593792b624eea..cd1d8b63c2dc74cbb98d6635e1938fd97055c28d 100644 |
--- a/content/browser/media/webrtc_browsertest.cc |
+++ b/content/browser/media/webrtc_browsertest.cc |
@@ -4,27 +4,18 @@ |
#include "base/command_line.h" |
#include "base/file_util.h" |
-#include "base/process/process_handle.h" |
-#include "base/strings/string_number_conversions.h" |
#include "base/strings/stringprintf.h" |
#include "base/threading/platform_thread.h" |
-#include "base/values.h" |
-#include "content/browser/media/webrtc_internals.h" |
#include "content/browser/web_contents/web_contents_impl.h" |
#include "content/public/common/content_switches.h" |
#include "content/public/test/browser_test_utils.h" |
#include "content/public/test/content_browser_test_utils.h" |
#include "content/public/test/test_utils.h" |
-#include "content/shell/browser/shell.h" |
#include "content/test/webrtc_content_browsertest_base.h" |
#include "media/audio/audio_manager.h" |
#include "media/base/media_switches.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
-#if defined(OS_WIN) |
-#include "base/win/windows_version.h" |
-#endif |
- |
namespace { |
#if defined (OS_ANDROID) || defined(THREAD_SANITIZER) |
@@ -35,29 +26,21 @@ const char kUseLenientAudioChecking[] = "true"; |
const char kUseLenientAudioChecking[] = "false"; |
#endif |
-const int kExpectedConsumerId = 0; |
- |
-// Get the ID for the render process host when there should only be one. |
-bool GetRenderProcessHostId(base::ProcessId* id) { |
- content::RenderProcessHost::iterator it( |
- content::RenderProcessHost::AllHostsIterator()); |
- *id = base::GetProcId(it.GetCurrentValue()->GetHandle()); |
- EXPECT_NE(base::kNullProcessId, *id); |
- if (*id == base::kNullProcessId) |
- return false; |
- it.Advance(); |
- EXPECT_TRUE(it.IsAtEnd()); |
- return it.IsAtEnd(); |
-} |
- |
} // namespace |
namespace content { |
-class WebRtcBrowserTest : public WebRtcContentBrowserTest { |
+#if defined(OS_ANDROID) && defined(ADDRESS_SANITIZER) |
+// Renderer crashes under Android ASAN: https://crbug.com/408496. |
+#define MAYBE_WebRtcBrowserTest DISABLED_WebRtcBrowserTest |
+#else |
+#define MAYBE_WebRtcBrowserTest WebRtcBrowserTest |
+#endif |
+ |
+class MAYBE_WebRtcBrowserTest : public WebRtcContentBrowserTest { |
public: |
- WebRtcBrowserTest() {} |
- virtual ~WebRtcBrowserTest() {} |
+ MAYBE_WebRtcBrowserTest() {} |
+ virtual ~MAYBE_WebRtcBrowserTest() {} |
// Convenience function since most peerconnection-call.html tests just load |
// the page, kick off some javascript and wait for the title to change to OK. |
@@ -91,14 +74,6 @@ class WebRtcBrowserTest : public WebRtcContentBrowserTest { |
MakeTypicalPeerConnectionCall(javascript); |
} |
- |
- void DisableOpusIfOnAndroid() { |
-#if defined(OS_ANDROID) |
- // Always force iSAC 16K on Android for now (Opus is broken). |
- EXPECT_EQ("isac-forced", |
- ExecuteJavascriptAndReturnResult("forceIsac16KInSdp();")); |
-#endif |
- } |
}; |
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) |
@@ -113,7 +88,8 @@ class WebRtcBrowserTest : public WebRtcContentBrowserTest { |
// These tests will make a complete PeerConnection-based call and verify that |
// video is playing for the call. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanSetupDefaultVideoCall) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MAYBE_CanSetupDefaultVideoCall) { |
MakeTypicalPeerConnectionCall( |
"callAndExpectResolution({video: true}, 640, 480);"); |
} |
@@ -126,7 +102,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanSetupDefaultVideoCall) { |
#define MAYBE_CanSetupVideoCallWith1To1AspectRatio \ |
CanSetupVideoCallWith1To1AspectRatio |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CanSetupVideoCallWith1To1AspectRatio) { |
const std::string javascript = |
"callAndExpectResolution({video: {mandatory: {minWidth: 320," |
@@ -146,7 +122,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanSetupVideoCallWith16To9AspectRatio \ |
CanSetupVideoCallWith16To9AspectRatio |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CanSetupVideoCallWith16To9AspectRatio) { |
const std::string javascript = |
"callAndExpectResolution({video: {mandatory: {minWidth: 640," |
@@ -162,7 +138,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanSetupVideoCallWith4To3AspectRatio \ |
CanSetupVideoCallWith4To3AspectRatio |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CanSetupVideoCallWith4To3AspectRatio) { |
const std::string javascript = |
"callAndExpectResolution({video: {mandatory: {minWidth: 960," |
@@ -178,7 +154,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanSetupVideoCallAndDisableLocalVideo \ |
CanSetupVideoCallAndDisableLocalVideo |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CanSetupVideoCallAndDisableLocalVideo) { |
const std::string javascript = |
"callAndDisableLocalVideo({video: true});"; |
@@ -192,18 +168,20 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanSetupAudioAndVideoCall CanSetupAudioAndVideoCall |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanSetupAudioAndVideoCall) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MAYBE_CanSetupAudioAndVideoCall) { |
MakeTypicalPeerConnectionCall("call({video: true, audio: true});"); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MANUAL_CanSetupCallAndSendDtmf) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MANUAL_CanSetupCallAndSendDtmf) { |
MakeTypicalPeerConnectionCall("callAndSendDtmf(\'123,abc\');"); |
} |
// TODO(phoglund): this test fails because the peer connection state will be |
// stable in the second negotiation round rather than have-local-offer. |
// http://crbug.com/293125. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
DISABLED_CanMakeEmptyCallThenAddStreamsAndRenegotiate) { |
const char* kJavascript = |
"callEmptyThenAddOneStreamAndRenegotiate({video: true, audio: true});"; |
@@ -229,7 +207,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanForwardRemoteStream720p CanForwardRemoteStream720p |
#endif |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanForwardRemoteStream) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, MAYBE_CanForwardRemoteStream) { |
#if defined (OS_ANDROID) |
// This test fails on Nexus 5 devices. |
// TODO(henrika): see http://crbug.com/362437 and http://crbug.com/359389 |
@@ -241,7 +219,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanForwardRemoteStream) { |
"callAndForwardRemoteStream({video: true, audio: false});"); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanForwardRemoteStream720p) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MAYBE_CanForwardRemoteStream720p) { |
#if defined (OS_ANDROID) |
// This test fails on Nexus 5 devices. |
// TODO(henrika): see http://crbug.com/362437 and http://crbug.com/359389 |
@@ -254,7 +233,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanForwardRemoteStream720p) { |
MakeTypicalPeerConnectionCall(javascript); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
NoCrashWhenConnectChromiumSinkToRemoteTrack) { |
MakeTypicalPeerConnectionCall("ConnectChromiumSinkToRemoteAudioTrack();"); |
} |
@@ -271,26 +250,27 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_CanSetupAudioAndVideoCallWithoutMsidAndBundle\ |
CanSetupAudioAndVideoCallWithoutMsidAndBundle |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CanSetupAudioAndVideoCallWithoutMsidAndBundle) { |
MakeTypicalPeerConnectionCall("callWithoutMsidAndBundle();"); |
} |
// This test will modify the SDP offer to an unsupported codec, which should |
// cause SetLocalDescription to fail. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, NegotiateUnsupportedVideoCodec) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ NegotiateUnsupportedVideoCodec) { |
MakeTypicalPeerConnectionCall("negotiateUnsupportedVideoCodec();"); |
} |
// This test will modify the SDP offer to use no encryption, which should |
// cause SetLocalDescription to fail. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, NegotiateNonCryptoCall) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, NegotiateNonCryptoCall) { |
MakeTypicalPeerConnectionCall("negotiateNonCryptoCall();"); |
} |
// This test can negotiate an SDP offer that includes a b=AS:xx to control |
// the bandwidth for audio and video |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, NegotiateOfferWithBLine) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, NegotiateOfferWithBLine) { |
MakeTypicalPeerConnectionCall("negotiateOfferWithBLine();"); |
} |
@@ -303,14 +283,14 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, NegotiateOfferWithBLine) { |
#define MAYBE_CanSetupLegacyCall CanSetupLegacyCall |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CanSetupLegacyCall) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, MAYBE_CanSetupLegacyCall) { |
MakeTypicalPeerConnectionCall("callWithLegacySdp();"); |
} |
// This test will make a PeerConnection-based call and test an unreliable text |
// dataChannel. |
// TODO(mallinath) - Remove this test after rtp based data channel is disabled. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, CallWithDataOnly) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, CallWithDataOnly) { |
MakeTypicalPeerConnectionCall("callWithDataOnly();"); |
} |
@@ -320,7 +300,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, CallWithDataOnly) { |
#else |
#define MAYBE_CallWithSctpDataOnly CallWithSctpDataOnly |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithSctpDataOnly) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, MAYBE_CallWithSctpDataOnly) { |
MakeTypicalPeerConnectionCall("callWithSctpDataOnly();"); |
} |
@@ -334,7 +314,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithSctpDataOnly) { |
// This test will make a PeerConnection-based call and test an unreliable text |
// dataChannel and audio and video tracks. |
// TODO(mallinath) - Remove this test after rtp based data channel is disabled. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, DISABLED_CallWithDataAndMedia) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, DISABLED_CallWithDataAndMedia) { |
MakeTypicalPeerConnectionCall("callWithDataAndMedia();"); |
} |
@@ -348,7 +328,7 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, DISABLED_CallWithDataAndMedia) { |
#define MAYBE_CallWithSctpDataAndMedia CallWithSctpDataAndMedia |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_CallWithSctpDataAndMedia) { |
MakeTypicalPeerConnectionCall("callWithSctpDataAndMedia();"); |
} |
@@ -363,7 +343,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
// This test will make a PeerConnection-based call and test an unreliable text |
// dataChannel and later add an audio and video track. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithDataAndLaterAddMedia) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MAYBE_CallWithDataAndLaterAddMedia) { |
MakeTypicalPeerConnectionCall("callWithDataAndLaterAddMedia();"); |
} |
@@ -377,7 +358,8 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithDataAndLaterAddMedia) { |
// This test will make a PeerConnection-based call and send a new Video |
// MediaStream that has been created based on a MediaStream created with |
// getUserMedia. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithNewVideoMediaStream) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
+ MAYBE_CallWithNewVideoMediaStream) { |
MakeTypicalPeerConnectionCall("callWithNewVideoMediaStream();"); |
} |
@@ -387,51 +369,51 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithNewVideoMediaStream) { |
// AudioTrack is added instead. |
// TODO(phoglund): This test is manual since not all buildbots has an audio |
// input. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MANUAL_CallAndModifyStream) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, MANUAL_CallAndModifyStream) { |
MakeTypicalPeerConnectionCall( |
"callWithNewVideoMediaStreamLaterSwitchToAudio();"); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, AddTwoMediaStreamsToOnePC) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, AddTwoMediaStreamsToOnePC) { |
MakeTypicalPeerConnectionCall("addTwoMediaStreamsToOneConnection();"); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EstablishAudioVideoCallAndEnsureAudioIsPlaying) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureAudioIsPlaying(%s, {audio:true, video:true});", |
kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EstablishAudioOnlyCallAndEnsureAudioIsPlaying) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureAudioIsPlaying(%s, {audio:true});", |
kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EstablishAudioVideoCallAndVerifyRemoteMutingWorks) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureRemoteAudioTrackMutingWorks(%s);", |
kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EstablishAudioVideoCallAndVerifyLocalMutingWorks) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureLocalAudioTrackMutingWorks(%s);", |
kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EnsureLocalVideoMuteDoesntMuteAudio) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureLocalVideoMutingDoesntMuteAudio(%s);", |
kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
EnsureRemoteVideoMuteDoesntMuteAudio) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureRemoteVideoMutingDoesntMuteAudio(%s);", |
@@ -446,177 +428,17 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
#define MAYBE_EstablishAudioVideoCallAndVerifyUnmutingWorks\ |
EstablishAudioVideoCallAndVerifyUnmutingWorks |
#endif |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, |
MAYBE_EstablishAudioVideoCallAndVerifyUnmutingWorks) { |
MakeAudioDetectingPeerConnectionCall(base::StringPrintf( |
"callAndEnsureAudioTrackUnmutingWorks(%s);", kUseLenientAudioChecking)); |
} |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, CallAndVerifyVideoMutingWorks) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, CallAndVerifyVideoMutingWorks) { |
MakeTypicalPeerConnectionCall("callAndEnsureVideoTrackMutingWorks();"); |
} |
-#if defined(OS_WIN) |
-#define IntToStringType base::IntToString16 |
-#else |
-#define IntToStringType base::IntToString |
-#endif |
- |
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) |
-// Timing out on ARM linux bot: http://crbug.com/238490 |
-#define MAYBE_CallWithAecDump DISABLED_CallWithAecDump |
-#else |
-#define MAYBE_CallWithAecDump CallWithAecDump |
-#endif |
- |
-// This tests will make a complete PeerConnection-based call, verify that |
-// video is playing for the call, and verify that a non-empty AEC dump file |
-// exists. The AEC dump is enabled through webrtc-internals. The HTML and |
-// Javascript is bypassed since it would trigger a file picker dialog. Instead, |
-// the dialog callback FileSelected() is invoked directly. In fact, there's |
-// never a webrtc-internals page opened at all since that's not needed. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_CallWithAecDump) { |
- ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
- |
- // We must navigate somewhere first so that the render process is created. |
- NavigateToURL(shell(), GURL("")); |
- |
- base::FilePath dump_file; |
- ASSERT_TRUE(CreateTemporaryFile(&dump_file)); |
- base::DeleteFile(dump_file, false); |
- |
- // This fakes the behavior of another open tab with webrtc-internals, and |
- // enabling AEC dump in that tab. |
- WebRTCInternals::GetInstance()->FileSelected(dump_file, -1, NULL); |
- |
- GURL url(embedded_test_server()->GetURL("/media/peerconnection-call.html")); |
- NavigateToURL(shell(), url); |
- DisableOpusIfOnAndroid(); |
- ExecuteJavascriptAndWaitForOk("call({video: true, audio: true});"); |
- |
- EXPECT_FALSE(base::PathExists(dump_file)); |
- |
- // Add file extensions that we expect to be added. The dump name will be |
- // <temporary path>.<render process id>.<consumer id>, for example |
- // "/tmp/.com.google.Chrome.Z6UC3P.12345.0". |
- base::ProcessId render_process_id = base::kNullProcessId; |
- EXPECT_TRUE(GetRenderProcessHostId(&render_process_id)); |
- dump_file = dump_file.AddExtension(IntToStringType(render_process_id)) |
- .AddExtension(IntToStringType(kExpectedConsumerId)); |
- |
- EXPECT_TRUE(base::PathExists(dump_file)); |
- int64 file_size = 0; |
- EXPECT_TRUE(base::GetFileSize(dump_file, &file_size)); |
- EXPECT_GT(file_size, 0); |
- |
- base::DeleteFile(dump_file, false); |
-} |
- |
-// TODO(grunell): Add test for multiple dumps when re-use of |
-// MediaStreamAudioProcessor in AudioCapturer has been removed. |
- |
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) |
-// Timing out on ARM linux bot: http://crbug.com/238490 |
-#define MAYBE_CallWithAecDumpEnabledThenDisabled DISABLED_CallWithAecDumpEnabledThenDisabled |
-#else |
-#define MAYBE_CallWithAecDumpEnabledThenDisabled CallWithAecDumpEnabledThenDisabled |
-#endif |
- |
-// As above, but enable and disable dump before starting a call. The file should |
-// be created, but should be empty. |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, |
- MAYBE_CallWithAecDumpEnabledThenDisabled) { |
- ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
- |
- // We must navigate somewhere first so that the render process is created. |
- NavigateToURL(shell(), GURL("")); |
- |
- base::FilePath dump_file; |
- ASSERT_TRUE(CreateTemporaryFile(&dump_file)); |
- base::DeleteFile(dump_file, false); |
- |
- // This fakes the behavior of another open tab with webrtc-internals, and |
- // enabling AEC dump in that tab, then disabling it. |
- WebRTCInternals::GetInstance()->FileSelected(dump_file, -1, NULL); |
- WebRTCInternals::GetInstance()->DisableAecDump(); |
- |
- GURL url(embedded_test_server()->GetURL("/media/peerconnection-call.html")); |
- NavigateToURL(shell(), url); |
- DisableOpusIfOnAndroid(); |
- ExecuteJavascriptAndWaitForOk("call({video: true, audio: true});"); |
- |
- // Add file extensions that we expect to be added. |
- base::ProcessId render_process_id = base::kNullProcessId; |
- EXPECT_TRUE(GetRenderProcessHostId(&render_process_id)); |
- dump_file = dump_file.AddExtension(IntToStringType(render_process_id)) |
- .AddExtension(IntToStringType(kExpectedConsumerId)); |
- |
- EXPECT_FALSE(base::PathExists(dump_file)); |
- |
- base::DeleteFile(dump_file, false); |
-} |
- |
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) |
-// Timing out on ARM linux bot: http://crbug.com/238490 |
-#define MAYBE_TwoCallsWithAecDump DISABLED_TwoCallsWithAecDump |
-#else |
-#define MAYBE_TwoCallsWithAecDump TwoCallsWithAecDump |
-#endif |
- |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, MAYBE_TwoCallsWithAecDump) { |
- ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
- |
- // We must navigate somewhere first so that the render process is created. |
- NavigateToURL(shell(), GURL("")); |
- |
- // Create a second window. |
- Shell* shell2 = CreateBrowser(); |
- NavigateToURL(shell2, GURL("")); |
- |
- base::FilePath dump_file; |
- ASSERT_TRUE(CreateTemporaryFile(&dump_file)); |
- base::DeleteFile(dump_file, false); |
- |
- // This fakes the behavior of another open tab with webrtc-internals, and |
- // enabling AEC dump in that tab. |
- WebRTCInternals::GetInstance()->FileSelected(dump_file, -1, NULL); |
- |
- GURL url(embedded_test_server()->GetURL("/media/peerconnection-call.html")); |
- |
- NavigateToURL(shell(), url); |
- NavigateToURL(shell2, url); |
- ExecuteJavascriptAndWaitForOk("call({video: true, audio: true});"); |
- std::string result; |
- EXPECT_TRUE(ExecuteScriptAndExtractString( |
- shell2->web_contents(), |
- "call({video: true, audio: true});", |
- &result)); |
- ASSERT_STREQ("OK", result.c_str()); |
- |
- EXPECT_FALSE(base::PathExists(dump_file)); |
- |
- RenderProcessHost::iterator it = |
- content::RenderProcessHost::AllHostsIterator(); |
- for (; !it.IsAtEnd(); it.Advance()) { |
- base::ProcessId render_process_id = |
- base::GetProcId(it.GetCurrentValue()->GetHandle()); |
- EXPECT_NE(base::kNullProcessId, render_process_id); |
- |
- // Add file extensions that we expect to be added. |
- base::FilePath unique_dump_file = |
- dump_file.AddExtension(IntToStringType(render_process_id)) |
- .AddExtension(IntToStringType(kExpectedConsumerId)); |
- |
- EXPECT_TRUE(base::PathExists(unique_dump_file)); |
- int64 file_size = 0; |
- EXPECT_TRUE(base::GetFileSize(unique_dump_file, &file_size)); |
- EXPECT_GT(file_size, 0); |
- |
- base::DeleteFile(unique_dump_file, false); |
- } |
-} |
- |
-IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, CreateOfferWithOfferOptions) { |
+IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcBrowserTest, CreateOfferWithOfferOptions) { |
MakeTypicalPeerConnectionCall("testCreateOfferOptions();"); |
} |