Use TaskQueueForTest instead or TaskQueue in unittests
To avoid hidden dependency on GlobalTaskQueueFactory used to construct TaskQueue
Bug: webrtc:10284
Change-Id: Iaa08be2827198e16aeb5538ea188d54cab60c1d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128879
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27291}
diff --git a/rtc_base/weak_ptr_unittest.cc b/rtc_base/weak_ptr_unittest.cc
index 8f09a33..1fdd9fe 100644
--- a/rtc_base/weak_ptr_unittest.cc
+++ b/rtc_base/weak_ptr_unittest.cc
@@ -13,7 +13,7 @@
#include "absl/memory/memory.h"
#include "rtc_base/event.h"
-#include "rtc_base/task_queue.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/weak_ptr.h"
#include "test/gtest.h"
@@ -203,13 +203,8 @@
template <class T>
std::unique_ptr<T> NewObjectCreatedOnTaskQueue() {
std::unique_ptr<T> obj;
- TaskQueue queue("NewObjectCreatedOnTaskQueue");
- Event event;
- queue.PostTask([&event, &obj] {
- obj.reset(new T());
- event.Set();
- });
- EXPECT_TRUE(event.Wait(1000));
+ webrtc::TaskQueueForTest queue("NewObjectCreatedOnTaskQueue");
+ queue.SendTask([&] { obj = absl::make_unique<T>(); });
return obj;
}
@@ -230,15 +225,12 @@
auto target = absl::make_unique<TargetWithFactory>();
// Create weak ptr on main thread
WeakPtr<Target> weak_ptr = target->factory.GetWeakPtr();
- rtc::TaskQueue queue("queue");
- rtc::Event done;
- queue.PostTask([&] {
+ webrtc::TaskQueueForTest queue("queue");
+ queue.SendTask([&] {
// Dereference and invalide weak_ptr on another thread.
EXPECT_EQ(weak_ptr.get(), target.get());
target.reset();
- done.Set();
});
- EXPECT_TRUE(done.Wait(1000));
}
} // namespace rtc