Reland "Add TaskQueueStdlib experiment."
This is a reland of commit 83db78e854ff35d57124f04aff9464c0862cd833
Original change's description:
> Add TaskQueueStdlib experiment.
>
> Bug: webrtc:14389
> Change-Id: I23c6e0ae675748ec35a99c334104dd2654995a33
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265802
> Commit-Queue: Ali Tofigh <alito@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37888}
Bug: webrtc:14389
Change-Id: If84c7043e5f0f63ae8d9eae651daf900a72f2ee3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273320
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37923}
diff --git a/api/task_queue/task_queue_test.cc b/api/task_queue/task_queue_test.cc
index 69532d6..0f6b1d0 100644
--- a/api/task_queue/task_queue_test.cc
+++ b/api/task_queue/task_queue_test.cc
@@ -13,6 +13,7 @@
#include "absl/cleanup/cleanup.h"
#include "absl/strings/string_view.h"
+#include "api/task_queue/default_task_queue_factory.h"
#include "api/units/time_delta.h"
#include "rtc_base/event.h"
#include "rtc_base/ref_counter.h"
@@ -29,13 +30,13 @@
}
TEST_P(TaskQueueTest, Construct) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
auto queue = CreateTaskQueue(factory, "Construct");
EXPECT_FALSE(queue->IsCurrent());
}
TEST_P(TaskQueueTest, PostAndCheckCurrent) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event event;
auto queue = CreateTaskQueue(factory, "PostAndCheckCurrent");
@@ -53,7 +54,7 @@
}
TEST_P(TaskQueueTest, PostCustomTask) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event ran;
auto queue = CreateTaskQueue(factory, "PostCustomImplementation");
@@ -72,7 +73,7 @@
}
TEST_P(TaskQueueTest, PostDelayedZero) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event event;
auto queue = CreateTaskQueue(factory, "PostDelayedZero");
@@ -81,7 +82,7 @@
}
TEST_P(TaskQueueTest, PostFromQueue) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event event;
auto queue = CreateTaskQueue(factory, "PostFromQueue");
@@ -91,7 +92,7 @@
}
TEST_P(TaskQueueTest, PostDelayed) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event event;
auto queue =
CreateTaskQueue(factory, "PostDelayed", TaskQueueFactory::Priority::HIGH);
@@ -113,7 +114,7 @@
}
TEST_P(TaskQueueTest, PostMultipleDelayed) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
auto queue = CreateTaskQueue(factory, "PostMultipleDelayed");
std::vector<rtc::Event> events(100);
@@ -132,7 +133,7 @@
}
TEST_P(TaskQueueTest, PostDelayedAfterDestruct) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event run;
rtc::Event deleted;
auto queue = CreateTaskQueue(factory, "PostDelayedAfterDestruct");
@@ -147,7 +148,7 @@
}
TEST_P(TaskQueueTest, PostAndReuse) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
rtc::Event event;
auto post_queue = CreateTaskQueue(factory, "PostQueue");
auto reply_queue = CreateTaskQueue(factory, "ReplyQueue");
@@ -203,7 +204,7 @@
rtc::Event event_;
};
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
static constexpr int kTaskCount = 0xffff;
rtc::Event posting_done;
BlockingCounter all_destroyed(kTaskCount);
@@ -247,7 +248,7 @@
// unit test, run it under TSan or some other tool that is able to
// directly detect data races.
TEST_P(TaskQueueTest, PostTwoWithSharedUnprotectedState) {
- std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()();
+ std::unique_ptr<webrtc::TaskQueueFactory> factory = GetParam()(nullptr);
struct SharedState {
// First task will set this value to 1 and second will assert it.
int state = 0;