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

Side by Side Diff: chromeos/process_proxy/process_proxy_unittest.cc

Issue 628883002: replace OVERRIDE and FINAL with override and final in chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <gtest/gtest.h> 5 #include <gtest/gtest.h>
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 23 matching lines...) Expand all
34 virtual void StartRegistryTest(ProcessProxyRegistry* registry) = 0; 34 virtual void StartRegistryTest(ProcessProxyRegistry* registry) = 0;
35 35
36 protected: 36 protected:
37 pid_t pid_; 37 pid_t pid_;
38 }; 38 };
39 39
40 class RegistryTestRunner : public TestRunner { 40 class RegistryTestRunner : public TestRunner {
41 public: 41 public:
42 virtual ~RegistryTestRunner() {} 42 virtual ~RegistryTestRunner() {}
43 43
44 virtual void SetupExpectations(pid_t pid) OVERRIDE { 44 virtual void SetupExpectations(pid_t pid) override {
45 pid_ = pid; 45 pid_ = pid;
46 left_to_check_index_[0] = 0; 46 left_to_check_index_[0] = 0;
47 left_to_check_index_[1] = 0; 47 left_to_check_index_[1] = 0;
48 // We consider that a line processing has started if a value in 48 // We consider that a line processing has started if a value in
49 // left_to_check__[index] is set to 0, thus -2. 49 // left_to_check__[index] is set to 0, thus -2.
50 lines_left_ = 2 * kTestLineNum - 2; 50 lines_left_ = 2 * kTestLineNum - 2;
51 expected_line_ = kTestLineExpected; 51 expected_line_ = kTestLineExpected;
52 } 52 }
53 53
54 // Method to test validity of received input. We will receive two streams of 54 // Method to test validity of received input. We will receive two streams of
55 // the same data. (input will be echoed twice by the testing process). Each 55 // the same data. (input will be echoed twice by the testing process). Each
56 // stream will contain the same string repeated |kTestLineNum| times. So we 56 // stream will contain the same string repeated |kTestLineNum| times. So we
57 // have to match 2 * |kTestLineNum| lines. The problem is the received lines 57 // have to match 2 * |kTestLineNum| lines. The problem is the received lines
58 // from different streams may be interleaved (e.g. we may receive 58 // from different streams may be interleaved (e.g. we may receive
59 // abc|abcdef|defgh|gh). To deal with that, we allow to test received text 59 // abc|abcdef|defgh|gh). To deal with that, we allow to test received text
60 // against two lines. The lines MUST NOT have two same characters for this 60 // against two lines. The lines MUST NOT have two same characters for this
61 // algorithm to work. 61 // algorithm to work.
62 virtual void OnSomeRead(pid_t pid, const std::string& type, 62 virtual void OnSomeRead(pid_t pid, const std::string& type,
63 const std::string& output) OVERRIDE { 63 const std::string& output) override {
64 EXPECT_EQ(type, kStdoutType); 64 EXPECT_EQ(type, kStdoutType);
65 EXPECT_EQ(pid_, pid); 65 EXPECT_EQ(pid_, pid);
66 66
67 bool valid = true; 67 bool valid = true;
68 for (size_t i = 0; i < output.length(); i++) { 68 for (size_t i = 0; i < output.length(); i++) {
69 // The character output[i] should be next in at least one of the lines we 69 // The character output[i] should be next in at least one of the lines we
70 // are testing. 70 // are testing.
71 valid = (ProcessReceivedCharacter(output[i], 0) || 71 valid = (ProcessReceivedCharacter(output[i], 0) ||
72 ProcessReceivedCharacter(output[i], 1)); 72 ProcessReceivedCharacter(output[i], 1));
73 EXPECT_TRUE(valid) << "Received: " << output; 73 EXPECT_TRUE(valid) << "Received: " << output;
74 } 74 }
75 75
76 if (!valid || TestSucceeded()) { 76 if (!valid || TestSucceeded()) {
77 base::MessageLoop::current()->PostTask(FROM_HERE, 77 base::MessageLoop::current()->PostTask(FROM_HERE,
78 base::MessageLoop::QuitClosure()); 78 base::MessageLoop::QuitClosure());
79 } 79 }
80 } 80 }
81 81
82 virtual void StartRegistryTest(ProcessProxyRegistry* registry) OVERRIDE { 82 virtual void StartRegistryTest(ProcessProxyRegistry* registry) override {
83 for (int i = 0; i < kTestLineNum; i++) { 83 for (int i = 0; i < kTestLineNum; i++) {
84 EXPECT_TRUE(registry->SendInput(pid_, kTestLineToSend)); 84 EXPECT_TRUE(registry->SendInput(pid_, kTestLineToSend));
85 } 85 }
86 } 86 }
87 87
88 private: 88 private:
89 bool ProcessReceivedCharacter(char received, size_t stream) { 89 bool ProcessReceivedCharacter(char received, size_t stream) {
90 if (stream >= arraysize(left_to_check_index_)) 90 if (stream >= arraysize(left_to_check_index_))
91 return false; 91 return false;
92 bool success = left_to_check_index_[stream] < expected_line_.length() && 92 bool success = left_to_check_index_[stream] < expected_line_.length() &&
(...skipping 18 matching lines...) Expand all
111 111
112 size_t left_to_check_index_[2]; 112 size_t left_to_check_index_[2];
113 size_t lines_left_; 113 size_t lines_left_;
114 std::string expected_line_; 114 std::string expected_line_;
115 }; 115 };
116 116
117 class RegistryNotifiedOnProcessExitTestRunner : public TestRunner { 117 class RegistryNotifiedOnProcessExitTestRunner : public TestRunner {
118 public: 118 public:
119 virtual ~RegistryNotifiedOnProcessExitTestRunner() {} 119 virtual ~RegistryNotifiedOnProcessExitTestRunner() {}
120 120
121 virtual void SetupExpectations(pid_t pid) OVERRIDE { 121 virtual void SetupExpectations(pid_t pid) override {
122 output_received_ = false; 122 output_received_ = false;
123 pid_ = pid; 123 pid_ = pid;
124 } 124 }
125 125
126 virtual void OnSomeRead(pid_t pid, const std::string& type, 126 virtual void OnSomeRead(pid_t pid, const std::string& type,
127 const std::string& output) OVERRIDE { 127 const std::string& output) override {
128 EXPECT_EQ(pid_, pid); 128 EXPECT_EQ(pid_, pid);
129 if (!output_received_) { 129 if (!output_received_) {
130 output_received_ = true; 130 output_received_ = true;
131 EXPECT_EQ(type, "stdout"); 131 EXPECT_EQ(type, "stdout");
132 EXPECT_EQ(output, "p"); 132 EXPECT_EQ(output, "p");
133 base::KillProcess(pid_, 0 , true); 133 base::KillProcess(pid_, 0 , true);
134 return; 134 return;
135 } 135 }
136 EXPECT_EQ("exit", type); 136 EXPECT_EQ("exit", type);
137 base::MessageLoop::current()->PostTask(FROM_HERE, 137 base::MessageLoop::current()->PostTask(FROM_HERE,
138 base::MessageLoop::QuitClosure()); 138 base::MessageLoop::QuitClosure());
139 } 139 }
140 140
141 virtual void StartRegistryTest(ProcessProxyRegistry* registry) OVERRIDE { 141 virtual void StartRegistryTest(ProcessProxyRegistry* registry) override {
142 EXPECT_TRUE(registry->SendInput(pid_, "p")); 142 EXPECT_TRUE(registry->SendInput(pid_, "p"));
143 } 143 }
144 144
145 private: 145 private:
146 bool output_received_; 146 bool output_received_;
147 }; 147 };
148 148
149 class SigIntTestRunner : public TestRunner { 149 class SigIntTestRunner : public TestRunner {
150 public: 150 public:
151 virtual ~SigIntTestRunner() {} 151 virtual ~SigIntTestRunner() {}
152 152
153 virtual void SetupExpectations(pid_t pid) OVERRIDE { 153 virtual void SetupExpectations(pid_t pid) override {
154 pid_ = pid; 154 pid_ = pid;
155 } 155 }
156 156
157 virtual void OnSomeRead(pid_t pid, const std::string& type, 157 virtual void OnSomeRead(pid_t pid, const std::string& type,
158 const std::string& output) OVERRIDE { 158 const std::string& output) override {
159 EXPECT_EQ(pid_, pid); 159 EXPECT_EQ(pid_, pid);
160 // We may receive ^C on stdout, but we don't care about that, as long as we 160 // We may receive ^C on stdout, but we don't care about that, as long as we
161 // eventually received exit event. 161 // eventually received exit event.
162 if (type == "exit") { 162 if (type == "exit") {
163 base::MessageLoop::current()->PostTask(FROM_HERE, 163 base::MessageLoop::current()->PostTask(FROM_HERE,
164 base::MessageLoop::QuitClosure()); 164 base::MessageLoop::QuitClosure());
165 } 165 }
166 } 166 }
167 167
168 virtual void StartRegistryTest(ProcessProxyRegistry* registry) OVERRIDE { 168 virtual void StartRegistryTest(ProcessProxyRegistry* registry) override {
169 // Send SingInt and verify the process exited. 169 // Send SingInt and verify the process exited.
170 EXPECT_TRUE(registry->SendInput(pid_, "\003")); 170 EXPECT_TRUE(registry->SendInput(pid_, "\003"));
171 } 171 }
172 }; 172 };
173 173
174 } // namespace 174 } // namespace
175 175
176 class ProcessProxyTest : public testing::Test { 176 class ProcessProxyTest : public testing::Test {
177 public: 177 public:
178 ProcessProxyTest() {} 178 ProcessProxyTest() {}
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 } 245 }
246 246
247 // Test verifies that \003 message send to process is processed as SigInt. 247 // Test verifies that \003 message send to process is processed as SigInt.
248 // Timing out on the waterfall: http://crbug.com/115064 248 // Timing out on the waterfall: http://crbug.com/115064
249 TEST_F(ProcessProxyTest, DISABLED_SigInt) { 249 TEST_F(ProcessProxyTest, DISABLED_SigInt) {
250 test_runner_.reset(new SigIntTestRunner()); 250 test_runner_.reset(new SigIntTestRunner());
251 RunTest(); 251 RunTest();
252 } 252 }
253 253
254 } // namespace chromeos 254 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/process_proxy/process_output_watcher_unittest.cc ('k') | chromeos/settings/timezone_settings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698