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

Unified Diff: chrome_frame/test/proxy_factory_mock.cc

Issue 9460019: Reduce flakiness in chrome_frame_tests.exe by having each run in a clean environment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed compile break Created 8 years, 10 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 | « chrome_frame/test/chrome_frame_test_utils.cc ('k') | chrome_frame/test/run_all_unittests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/test/proxy_factory_mock.cc
diff --git a/chrome_frame/test/proxy_factory_mock.cc b/chrome_frame/test/proxy_factory_mock.cc
index 62bd3da4fb374e8c5c9e20f33793e8b253f69c3a..1d0defd6d3f43de05d0fe5140dbbe8dcde8d125f 100644
--- a/chrome_frame/test/proxy_factory_mock.cc
+++ b/chrome_frame/test/proxy_factory_mock.cc
@@ -1,10 +1,14 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/compiler_specific.h"
#include "base/synchronization/waitable_event.h"
+#include "chrome/common/chrome_paths_internal.h"
#include "chrome_frame/crash_reporting/crash_metrics.h"
+#include "chrome_frame/test/chrome_frame_test_utils.h"
#include "chrome_frame/test/proxy_factory_mock.h"
+#include "chrome_frame/test/test_scrubber.h"
#define GMOCK_MUTANT_INCLUDE_LATE_OBJECT_BINDING
#include "testing/gmock_mutant.h"
@@ -12,106 +16,102 @@
using testing::CreateFunctor;
using testing::_;
-TEST(ProxyFactoryTest, CreateDestroy) {
- CrashMetricsReporter::GetInstance()->set_active(true);
+class ProxyFactoryTest : public testing::Test {
+ protected:
+ virtual void SetUp() OVERRIDE;
+
+ ChromeFrameLaunchParams* MakeLaunchParams(const wchar_t* profile_name);
+
+ ProxyFactory proxy_factory_;
+ LaunchDelegateMock launch_delegate_mock_;
+};
- ProxyFactory f;
- LaunchDelegateMock d;
- EXPECT_CALL(d, LaunchComplete(testing::NotNull(), testing::_)).Times(1);
+void ProxyFactoryTest::SetUp() {
+ CrashMetricsReporter::GetInstance()->set_active(true);
+}
+ChromeFrameLaunchParams* ProxyFactoryTest::MakeLaunchParams(
+ const wchar_t* profile_name) {
GURL empty;
- FilePath profile_path;
- scoped_refptr<ChromeFrameLaunchParams> params(
+ FilePath profile_path(chrome_frame_test::GetProfilePath(profile_name));
+ chrome_frame_test::OverrideDataDirectoryForThisTest(profile_path.value());
+ ChromeFrameLaunchParams* params =
new ChromeFrameLaunchParams(empty, empty, profile_path,
- L"Adam.N.Epilinter", L"", false, false, false));
+ profile_path.BaseName().value(), L"", false,
+ false, false);
params->set_launch_timeout(0);
params->set_version_check(false);
+ return params;
+}
+
+TEST_F(ProxyFactoryTest, CreateDestroy) {
+ EXPECT_CALL(launch_delegate_mock_,
+ LaunchComplete(testing::NotNull(), testing::_)).Times(1);
+
+ scoped_refptr<ChromeFrameLaunchParams> params(
+ MakeLaunchParams(L"Adam.N.Epilinter"));
void* id = NULL;
- f.GetAutomationServer(&d, params, &id);
- f.ReleaseAutomationServer(id, &d);
+ proxy_factory_.GetAutomationServer(&launch_delegate_mock_, params, &id);
+ proxy_factory_.ReleaseAutomationServer(id, &launch_delegate_mock_);
}
-TEST(ProxyFactoryTest, CreateSameProfile) {
- CrashMetricsReporter::GetInstance()->set_active(true);
- ProxyFactory f;
- LaunchDelegateMock d;
+TEST_F(ProxyFactoryTest, CreateSameProfile) {
LaunchDelegateMock d2;
- EXPECT_CALL(d, LaunchComplete(testing::NotNull(), testing::_)).Times(1);
+ EXPECT_CALL(launch_delegate_mock_,
+ LaunchComplete(testing::NotNull(), testing::_)).Times(1);
EXPECT_CALL(d2, LaunchComplete(testing::NotNull(), testing::_)).Times(1);
- GURL empty;
- FilePath profile_path;
scoped_refptr<ChromeFrameLaunchParams> params(
- new ChromeFrameLaunchParams(empty, empty, profile_path,
- L"Dr. Gratiano Forbeson", L"", false, false, false));
- params->set_launch_timeout(0);
- params->set_version_check(false);
+ MakeLaunchParams(L"Dr. Gratiano Forbeson"));
void* i1 = NULL;
void* i2 = NULL;
- f.GetAutomationServer(&d, params, &i1);
- f.GetAutomationServer(&d2, params, &i2);
+ proxy_factory_.GetAutomationServer(&launch_delegate_mock_, params, &i1);
+ proxy_factory_.GetAutomationServer(&d2, params, &i2);
EXPECT_EQ(i1, i2);
- f.ReleaseAutomationServer(i2, &d2);
- f.ReleaseAutomationServer(i1, &d);
+ proxy_factory_.ReleaseAutomationServer(i2, &d2);
+ proxy_factory_.ReleaseAutomationServer(i1, &launch_delegate_mock_);
}
-TEST(ProxyFactoryTest, CreateDifferentProfiles) {
- CrashMetricsReporter::GetInstance()->set_active(true);
- ProxyFactory f;
- LaunchDelegateMock d;
- EXPECT_CALL(d, LaunchComplete(testing::NotNull(), testing::_)).Times(2);
+TEST_F(ProxyFactoryTest, CreateDifferentProfiles) {
+ EXPECT_CALL(launch_delegate_mock_,
+ LaunchComplete(testing::NotNull(), testing::_)).Times(2);
- GURL empty;
- FilePath profile_path;
scoped_refptr<ChromeFrameLaunchParams> params1(
- new ChromeFrameLaunchParams(empty, empty, profile_path,
- L"Adam.N.Epilinter", L"", false, false, false));
- params1->set_launch_timeout(0);
- params1->set_version_check(false);
-
+ MakeLaunchParams(L"Adam.N.Epilinter"));
scoped_refptr<ChromeFrameLaunchParams> params2(
- new ChromeFrameLaunchParams(empty, empty, profile_path,
- L"Dr. Gratiano Forbeson", L"", false, false, false));
- params2->set_launch_timeout(0);
- params2->set_version_check(false);
+ MakeLaunchParams(L"Dr. Gratiano Forbeson"));
void* i1 = NULL;
void* i2 = NULL;
- f.GetAutomationServer(&d, params1, &i1);
- f.GetAutomationServer(&d, params2, &i2);
+ proxy_factory_.GetAutomationServer(&launch_delegate_mock_, params1, &i1);
+ proxy_factory_.GetAutomationServer(&launch_delegate_mock_, params2, &i2);
EXPECT_NE(i1, i2);
- f.ReleaseAutomationServer(i2, &d);
- f.ReleaseAutomationServer(i1, &d);
+ proxy_factory_.ReleaseAutomationServer(i2, &launch_delegate_mock_);
+ proxy_factory_.ReleaseAutomationServer(i1, &launch_delegate_mock_);
}
// This test has been disabled because it crashes randomly on the builders.
// http://code.google.com/p/chromium/issues/detail?id=81039
-TEST(ProxyFactoryTest, DISABLED_FastCreateDestroy) {
- CrashMetricsReporter::GetInstance()->set_active(true);
- ProxyFactory f;
- LaunchDelegateMock* d1 = new LaunchDelegateMock();
+TEST_F(ProxyFactoryTest, DISABLED_FastCreateDestroy) {
+ LaunchDelegateMock* d1 = &launch_delegate_mock_;
LaunchDelegateMock* d2 = new LaunchDelegateMock();
- GURL empty;
- FilePath profile_path;
scoped_refptr<ChromeFrameLaunchParams> params(
- new ChromeFrameLaunchParams(empty, empty, profile_path,
- L"Dr. Gratiano Forbeson", L"", false, false, false));
+ MakeLaunchParams(L"Dr. Gratiano Forbeson"));
params->set_launch_timeout(10000);
- params->set_version_check(false);
void* i1 = NULL;
base::WaitableEvent launched(true, false);
EXPECT_CALL(*d1, LaunchComplete(testing::NotNull(), AUTOMATION_SUCCESS))
.WillOnce(testing::InvokeWithoutArgs(&launched,
&base::WaitableEvent::Signal));
- f.GetAutomationServer(d1, params, &i1);
+ proxy_factory_.GetAutomationServer(d1, params, &i1);
// Wait for launch
ASSERT_TRUE(launched.TimedWait(base::TimeDelta::FromSeconds(10)));
@@ -123,12 +123,11 @@ TEST(ProxyFactoryTest, DISABLED_FastCreateDestroy) {
// LaunchComplete callback have a chance to be executed.
::SetThreadPriority(::GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
void* i2 = NULL;
- f.GetAutomationServer(d2, params, &i2);
+ proxy_factory_.GetAutomationServer(d2, params, &i2);
EXPECT_EQ(i1, i2);
- f.ReleaseAutomationServer(i2, d2);
+ proxy_factory_.ReleaseAutomationServer(i2, d2);
delete d2;
::SetThreadPriority(::GetCurrentThread(), THREAD_PRIORITY_NORMAL);
- f.ReleaseAutomationServer(i1, d1);
- delete d1;
+ proxy_factory_.ReleaseAutomationServer(i1, d1);
}
« no previous file with comments | « chrome_frame/test/chrome_frame_test_utils.cc ('k') | chrome_frame/test/run_all_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698