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

Side by Side Diff: webrtc/base/task_queue_unittest.cc

Issue 2458713005: Re-enable PostDelayed test for TaskQueue on Windows. (Closed)
Patch Set: . Created 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 TEST(TaskQueueTest, PostFromQueue) { 84 TEST(TaskQueueTest, PostFromQueue) {
85 static const char kQueueName[] = "PostFromQueue"; 85 static const char kQueueName[] = "PostFromQueue";
86 TaskQueue queue(kQueueName); 86 TaskQueue queue(kQueueName);
87 87
88 Event event(false, false); 88 Event event(false, false);
89 queue.PostTask( 89 queue.PostTask(
90 [&event, &queue]() { queue.PostTask([&event]() { event.Set(); }); }); 90 [&event, &queue]() { queue.PostTask([&event]() { event.Set(); }); });
91 EXPECT_TRUE(event.Wait(1000)); 91 EXPECT_TRUE(event.Wait(1000));
92 } 92 }
93 93
94 // Currently flaky on Windows. See issue 6610. 94 TEST(TaskQueueTest, PostDelayed) {
95 #if defined(WEBRTC_WIN)
96 #define MAYBE_PostDelayed DISABLED_PostDelayed
97 #else
98 #define MAYBE_PostDelayed PostDelayed
99 #endif
100 TEST(TaskQueueTest, MAYBE_PostDelayed) {
101 static const char kQueueName[] = "PostDelayed"; 95 static const char kQueueName[] = "PostDelayed";
102 TaskQueue queue(kQueueName); 96 TaskQueue queue(kQueueName);
103 97
104 Event event(false, false); 98 Event event(false, false);
105 uint32_t start = Time(); 99 uint32_t start = Time();
106 queue.PostDelayedTask(Bind(&CheckCurrent, kQueueName, &event, &queue), 100); 100 queue.PostDelayedTask(Bind(&CheckCurrent, kQueueName, &event, &queue), 100);
107 EXPECT_TRUE(event.Wait(1000)); 101 EXPECT_TRUE(event.Wait(1000));
108 uint32_t end = Time(); 102 uint32_t end = Time();
109 EXPECT_GE(end - start, 100u); 103 // These tests are a little relaxed due to how "powerful" our test bots can
110 EXPECT_NEAR(end - start, 200u, 100u); // Accept 100-300. 104 // be. Most recently we've seen windows bots fire the callback after 99ms,
105 // which is why we have a little bit of leeway backwards as well.
106 EXPECT_GE(end - start, 95u);
107 EXPECT_NEAR(end - start, 195u, 100u); // Accept 95-295.
111 } 108 }
112 109
113 TEST(TaskQueueTest, PostMultipleDelayed) { 110 TEST(TaskQueueTest, PostMultipleDelayed) {
114 static const char kQueueName[] = "PostMultipleDelayed"; 111 static const char kQueueName[] = "PostMultipleDelayed";
115 TaskQueue queue(kQueueName); 112 TaskQueue queue(kQueueName);
116 113
117 std::vector<std::unique_ptr<Event>> events; 114 std::vector<std::unique_ptr<Event>> events;
118 for (int i = 0; i < 10; ++i) { 115 for (int i = 0; i < 10; ++i) {
119 events.push_back(std::unique_ptr<Event>(new Event(false, false))); 116 events.push_back(std::unique_ptr<Event>(new Event(false, false)));
120 queue.PostDelayedTask( 117 queue.PostDelayedTask(
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 queue.PostTask(NewClosure([&tasks_executed]() { ++tasks_executed; }, 252 queue.PostTask(NewClosure([&tasks_executed]() { ++tasks_executed; },
256 [&tasks_cleaned_up]() { ++tasks_cleaned_up; })); 253 [&tasks_cleaned_up]() { ++tasks_cleaned_up; }));
257 event.Set(); // Unblock the first task. 254 event.Set(); // Unblock the first task.
258 } 255 }
259 256
260 EXPECT_GE(tasks_cleaned_up, tasks_executed); 257 EXPECT_GE(tasks_cleaned_up, tasks_executed);
261 EXPECT_EQ(kTaskCount, tasks_cleaned_up); 258 EXPECT_EQ(kTaskCount, tasks_cleaned_up);
262 } 259 }
263 260
264 } // namespace rtc 261 } // namespace rtc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698