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

Side by Side Diff: chrome/browser/chrome_browser_main_unittest.cc

Issue 8302016: Make GTK and Aura parts orthogonal to OS parts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/chrome_browser_main_mac.mm ('k') | chrome/browser/chrome_browser_main_win.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/scoped_vector.h"
9 #include "chrome/browser/chrome_browser_main.h" 10 #include "chrome/browser/chrome_browser_main.h"
10 #include "chrome/browser/chrome_content_browser_client.h" 11 #include "chrome/browser/chrome_content_browser_client.h"
11 #include "chrome/common/chrome_switches.h" 12 #include "chrome/common/chrome_switches.h"
12 #include "chrome/test/base/testing_pref_service.h" 13 #include "chrome/test/base/testing_pref_service.h"
13 #include "content/common/main_function_params.h" 14 #include "content/common/main_function_params.h"
14 #include "content/common/sandbox_init_wrapper.h" 15 #include "content/common/sandbox_init_wrapper.h"
15 #include "content/public/browser/content_browser_client.h" 16 #include "content/public/browser/content_browser_client.h"
16 #include "net/socket/client_socket_pool_base.h" 17 #include "net/socket/client_socket_pool_base.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 class BrowserMainTest : public testing::Test { 20 class BrowserMainTest : public testing::Test {
20 public: 21 public:
21 BrowserMainTest() : command_line_(CommandLine::NO_PROGRAM) {} 22 BrowserMainTest() : command_line_(CommandLine::NO_PROGRAM) {}
22 protected: 23 protected:
23 virtual void SetUp() { 24 virtual void SetUp() {
24 sandbox_init_wrapper_.reset(new SandboxInitWrapper()); 25 sandbox_init_wrapper_.reset(new SandboxInitWrapper());
25 } 26 }
26 27
27 scoped_ptr<SandboxInitWrapper> sandbox_init_wrapper_; 28 scoped_ptr<SandboxInitWrapper> sandbox_init_wrapper_;
28 TestingPrefService pref_service_; 29 TestingPrefService pref_service_;
29 CommandLine command_line_; 30 CommandLine command_line_;
30 }; 31 };
31 32
32 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_WarmestSocket) { 33 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_WarmestSocket) {
33 command_line_.AppendSwitchASCII(switches::kSocketReusePolicy, "0"); 34 command_line_.AppendSwitchASCII(switches::kSocketReusePolicy, "0");
34 35
35 scoped_ptr<MainFunctionParams> params( 36 scoped_ptr<MainFunctionParams> params(
36 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL)); 37 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
37 scoped_ptr<content::BrowserMainParts> bw( 38 ScopedVector<content::BrowserMainParts> bwv;
38 content::GetContentClient()->browser()->CreateBrowserMainParts( 39 content::GetContentClient()->browser()->CreateBrowserMainParts(
39 *params)); 40 *params, &(bwv.get()));
40 41 ChromeBrowserMainParts* cbw = NULL;
41 ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get()); 42 if (bwv.size() >= 1)
42 cbw->WarmConnectionFieldTrial(); 43 cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
43 44 EXPECT_TRUE(cbw);
44 EXPECT_EQ(0, net::GetSocketReusePolicy()); 45 if (cbw) {
46 cbw->WarmConnectionFieldTrial();
47 EXPECT_EQ(0, net::GetSocketReusePolicy());
48 }
45 } 49 }
46 50
47 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Random) { 51 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Random) {
48 scoped_ptr<MainFunctionParams> params( 52 scoped_ptr<MainFunctionParams> params(
49 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL)); 53 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
50 scoped_ptr<content::BrowserMainParts> bw( 54 ScopedVector<content::BrowserMainParts> bwv;
51 content::GetContentClient()->browser()->CreateBrowserMainParts( 55 content::GetContentClient()->browser()->CreateBrowserMainParts(
52 *params)); 56 *params, &(bwv.get()));
53 ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get()); 57 ChromeBrowserMainParts* cbw = NULL;
54 58 if (bwv.size() >= 1)
55 const int kNumRuns = 1000; 59 cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
56 for (int i = 0; i < kNumRuns; i++) { 60 EXPECT_TRUE(cbw);
57 cbw->WarmConnectionFieldTrial(); 61 if (cbw) {
58 int val = net::GetSocketReusePolicy(); 62 const int kNumRuns = 1000;
59 EXPECT_LE(val, 2); 63 for (int i = 0; i < kNumRuns; i++) {
60 EXPECT_GE(val, 0); 64 cbw->WarmConnectionFieldTrial();
65 int val = net::GetSocketReusePolicy();
66 EXPECT_LE(val, 2);
67 EXPECT_GE(val, 0);
68 }
61 } 69 }
62 } 70 }
63 71
64 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Invalid) { 72 TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Invalid) {
65 command_line_.AppendSwitchASCII(switches::kSocketReusePolicy, "100"); 73 command_line_.AppendSwitchASCII(switches::kSocketReusePolicy, "100");
66 74
67 scoped_ptr<MainFunctionParams> params( 75 scoped_ptr<MainFunctionParams> params(
68 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL)); 76 new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
69 // This test ends up launching a new process, and that doesn't initialize the 77 // This test ends up launching a new process, and that doesn't initialize the
70 // ContentClient interfaces. 78 // ContentClient interfaces.
71 scoped_ptr<content::BrowserMainParts> bw; 79 ScopedVector<content::BrowserMainParts> bwv;
72 if (content::GetContentClient()) { 80 if (content::GetContentClient()) {
73 bw.reset(content::GetContentClient()->browser()->CreateBrowserMainParts( 81 content::GetContentClient()->browser()->CreateBrowserMainParts(
74 *params)); 82 *params, &(bwv.get()));
75 } else { 83 } else {
76 chrome::ChromeContentBrowserClient ccbc; 84 chrome::ChromeContentBrowserClient ccbc;
77 bw.reset(ccbc.CreateBrowserMainParts(*params)); 85 ccbc.CreateBrowserMainParts(*params, &(bwv.get()));
78 } 86 }
79 ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get()); 87 ChromeBrowserMainParts* cbw = NULL;
88 if (bwv.size() >= 1)
89 cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
90 EXPECT_TRUE(cbw);
91 if (cbw) {
80 #if defined(NDEBUG) && defined(DCHECK_ALWAYS_ON) 92 #if defined(NDEBUG) && defined(DCHECK_ALWAYS_ON)
81 EXPECT_DEATH(cbw->WarmConnectionFieldTrial(), 93 EXPECT_DEATH(cbw->WarmConnectionFieldTrial(),
82 "Not a valid socket reuse policy group"); 94 "Not a valid socket reuse policy group");
83 #else 95 #else
84 EXPECT_DEBUG_DEATH(cbw->WarmConnectionFieldTrial(), 96 EXPECT_DEBUG_DEATH(cbw->WarmConnectionFieldTrial(),
85 "Not a valid socket reuse policy group"); 97 "Not a valid socket reuse policy group");
86 #endif 98 #endif
99 }
87 } 100 }
OLDNEW
« no previous file with comments | « chrome/browser/chrome_browser_main_mac.mm ('k') | chrome/browser/chrome_browser_main_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698