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

Side by Side Diff: mojo/system/simple_dispatcher_unittest.cc

Issue 410843003: Disable all the tests that are flaking more than 5% on Windows builders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « mojo/system/message_pipe_dispatcher_unittest.cc ('k') | net/disk_cache/backend_unittest.cc » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 // NOTE(vtl): Some of these tests are inherently flaky (e.g., if run on a 5 // NOTE(vtl): Some of these tests are inherently flaky (e.g., if run on a
6 // heavily-loaded system). Sorry. |test::EpsilonTimeout()| may be increased to 6 // heavily-loaded system). Sorry. |test::EpsilonTimeout()| may be increased to
7 // increase tolerance and reduce observed flakiness (though doing so reduces the 7 // increase tolerance and reduce observed flakiness (though doing so reduces the
8 // meaningfulness of the test). 8 // meaningfulness of the test).
9 9
10 #include "mojo/system/simple_dispatcher.h" 10 #include "mojo/system/simple_dispatcher.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 lock().AssertAcquired(); 80 lock().AssertAcquired();
81 return state_; 81 return state_;
82 } 82 }
83 83
84 // Protected by |lock()|: 84 // Protected by |lock()|:
85 HandleSignalsState state_; 85 HandleSignalsState state_;
86 86
87 DISALLOW_COPY_AND_ASSIGN(MockSimpleDispatcher); 87 DISALLOW_COPY_AND_ASSIGN(MockSimpleDispatcher);
88 }; 88 };
89 89
90 TEST(SimpleDispatcherTest, Basic) { 90 #if defined(OS_WIN)
91 // http://crbug.com/396404
92 #define MAYBE_Basic DISABLED_Basic
93 #else
94 #define MAYBE_Basic Basic
95 #endif
96 TEST(SimpleDispatcherTest, MAYBE_Basic) {
91 test::Stopwatch stopwatch; 97 test::Stopwatch stopwatch;
92 98
93 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher()); 99 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher());
94 Waiter w; 100 Waiter w;
95 uint32_t context = 0; 101 uint32_t context = 0;
96 102
97 // Try adding a readable waiter when already readable. 103 // Try adding a readable waiter when already readable.
98 w.Init(); 104 w.Init();
99 d->SetSatisfiedSignals(MOJO_HANDLE_SIGNAL_READABLE); 105 d->SetSatisfiedSignals(MOJO_HANDLE_SIGNAL_READABLE);
100 EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS, 106 EXPECT_EQ(MOJO_RESULT_ALREADY_EXISTS,
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 ASSERT_EQ(MOJO_RESULT_OK, d->AddWaiter(&w, MOJO_HANDLE_SIGNAL_WRITABLE, 4)); 267 ASSERT_EQ(MOJO_RESULT_OK, d->AddWaiter(&w, MOJO_HANDLE_SIGNAL_WRITABLE, 4));
262 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 268 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
263 stopwatch.Start(); 269 stopwatch.Start();
264 EXPECT_EQ(MOJO_RESULT_CANCELLED, 270 EXPECT_EQ(MOJO_RESULT_CANCELLED,
265 w.Wait(2 * test::EpsilonTimeout().InMicroseconds(), &context)); 271 w.Wait(2 * test::EpsilonTimeout().InMicroseconds(), &context));
266 EXPECT_LT(stopwatch.Elapsed(), test::EpsilonTimeout()); 272 EXPECT_LT(stopwatch.Elapsed(), test::EpsilonTimeout());
267 EXPECT_EQ(4u, context); 273 EXPECT_EQ(4u, context);
268 // Don't need to remove waiters from closed dispatchers. 274 // Don't need to remove waiters from closed dispatchers.
269 } 275 }
270 276
271 TEST(SimpleDispatcherTest, BasicThreaded) { 277 #if defined(OS_WIN)
278 // http://crbug.com/396393
279 #define MAYBE_BasicThreaded DISABLED_BasicThreaded
280 #else
281 #define MAYBE_BasicThreaded BasicThreaded
282 #endif
283 TEST(SimpleDispatcherTest, MAYBE_BasicThreaded) {
272 test::Stopwatch stopwatch; 284 test::Stopwatch stopwatch;
273 bool did_wait; 285 bool did_wait;
274 MojoResult result; 286 MojoResult result;
275 uint32_t context; 287 uint32_t context;
276 288
277 // Wait for readable (already readable). 289 // Wait for readable (already readable).
278 { 290 {
279 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher()); 291 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher());
280 { 292 {
281 d->SetSatisfiedSignals(MOJO_HANDLE_SIGNAL_READABLE); 293 d->SetSatisfiedSignals(MOJO_HANDLE_SIGNAL_READABLE);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 // If we closed earlier, then probably we'd get a |MOJO_RESULT_CANCELLED|. 386 // If we closed earlier, then probably we'd get a |MOJO_RESULT_CANCELLED|.
375 EXPECT_EQ(MOJO_RESULT_OK, d->Close()); 387 EXPECT_EQ(MOJO_RESULT_OK, d->Close());
376 } 388 }
377 elapsed = stopwatch.Elapsed(); 389 elapsed = stopwatch.Elapsed();
378 EXPECT_GT(elapsed, (2-1) * test::EpsilonTimeout()); 390 EXPECT_GT(elapsed, (2-1) * test::EpsilonTimeout());
379 EXPECT_LT(elapsed, (2+1) * test::EpsilonTimeout()); 391 EXPECT_LT(elapsed, (2+1) * test::EpsilonTimeout());
380 EXPECT_TRUE(did_wait); 392 EXPECT_TRUE(did_wait);
381 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, result); 393 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, result);
382 } 394 }
383 395
384 TEST(SimpleDispatcherTest, MultipleWaiters) { 396 #if defined(OS_WIN)
397 // http://crbug.com/387124
398 #define MAYBE_MultipleWaiters DISABLED_MultipleWaiters
399 #else
400 #define MAYBE_MultipleWaiters MultipleWaiters
401 #endif
402 TEST(SimpleDispatcherTest, MAYBE_MultipleWaiters) {
385 static const uint32_t kNumWaiters = 20; 403 static const uint32_t kNumWaiters = 20;
386 404
387 bool did_wait[kNumWaiters]; 405 bool did_wait[kNumWaiters];
388 MojoResult result[kNumWaiters]; 406 MojoResult result[kNumWaiters];
389 uint32_t context[kNumWaiters]; 407 uint32_t context[kNumWaiters];
390 408
391 // All wait for readable and becomes readable after some time. 409 // All wait for readable and becomes readable after some time.
392 { 410 {
393 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher()); 411 scoped_refptr<MockSimpleDispatcher> d(new MockSimpleDispatcher());
394 ScopedVector<test::WaiterThread> threads; 412 ScopedVector<test::WaiterThread> threads;
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 EXPECT_TRUE(did_wait[i]); 550 EXPECT_TRUE(did_wait[i]);
533 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, result[i]); 551 EXPECT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED, result[i]);
534 } 552 }
535 } 553 }
536 554
537 // TODO(vtl): Stress test? 555 // TODO(vtl): Stress test?
538 556
539 } // namespace 557 } // namespace
540 } // namespace system 558 } // namespace system
541 } // namespace mojo 559 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/system/message_pipe_dispatcher_unittest.cc ('k') | net/disk_cache/backend_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698