Add WaitForPreviouslyPostedTasks to TaskQueueForTest.
Add an utility function to TaskQueueForTest to execute all already
posted tasks on the queue.
Bug: webrtc:11380
Change-Id: I6cf75bc543cfd2dd1c363935134d3f7bd55eec58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174140
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31152}
diff --git a/rtc_base/task_queue_for_test.h b/rtc_base/task_queue_for_test.h
index 7844dc4..dd5679b 100644
--- a/rtc_base/task_queue_for_test.h
+++ b/rtc_base/task_queue_for_test.h
@@ -66,6 +66,14 @@
void SendTask(Closure&& task, rtc::Location loc) {
::webrtc::SendTask(loc, Get(), std::forward<Closure>(task));
}
+
+ // Wait for the completion of all tasks posted prior to the
+ // WaitForPreviouslyPostedTasks() call.
+ void WaitForPreviouslyPostedTasks() {
+ // Post an empty task on the queue and wait for it to finish, to ensure
+ // that all already posted tasks on the queue get executed.
+ SendTask([]() {}, RTC_FROM_HERE);
+ }
};
} // namespace webrtc