Replace Invoke in tests with SendTask test helper
Bug: webrtc:11318
Change-Id: I14e3fbc694d41c785a61c88d8207005c681576c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271540
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37774}
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index afba43f..fba4538 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -134,6 +134,7 @@
# TODO(bugs.webrtc.org/9987): Remove this dep on rtc_base:rtc_base once
# rtc_base:threading is fully defined.
"../../rtc_base:rtc_base",
+ "../../rtc_base:task_queue_for_test",
"../../rtc_base:threading",
"../../system_wrappers",
"../../test:test_support",
diff --git a/modules/desktop_capture/win/wgc_capturer_win_unittest.cc b/modules/desktop_capture/win/wgc_capturer_win_unittest.cc
index 9339526..a7b656f 100644
--- a/modules/desktop_capture/win/wgc_capturer_win_unittest.cc
+++ b/modules/desktop_capture/win/wgc_capturer_win_unittest.cc
@@ -22,6 +22,7 @@
#include "modules/desktop_capture/win/window_capture_utils.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h"
#include "rtc_base/time_utils.h"
#include "rtc_base/win/scoped_com_initializer.h"
@@ -128,8 +129,7 @@
window_thread_ = rtc::Thread::Create();
window_thread_->SetName(kWindowThreadName, nullptr);
window_thread_->Start();
- window_thread_->Invoke<void>(RTC_FROM_HERE, [this, window_width,
- window_height]() {
+ SendTask(window_thread_.get(), [this, window_width, window_height]() {
window_thread_id_ = GetCurrentThreadId();
window_info_ =
CreateTestWindow(kWindowTitle, window_height, window_width);
diff --git a/modules/desktop_capture/win/window_capture_utils_unittest.cc b/modules/desktop_capture/win/window_capture_utils_unittest.cc
index 913b920..137440b 100644
--- a/modules/desktop_capture/win/window_capture_utils_unittest.cc
+++ b/modules/desktop_capture/win/window_capture_utils_unittest.cc
@@ -18,6 +18,7 @@
#include "modules/desktop_capture/desktop_capturer.h"
#include "modules/desktop_capture/win/test_support/test_window.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h"
#include "test/gtest.h"
@@ -34,8 +35,7 @@
window_thread->SetName(kWindowThreadName, nullptr);
window_thread->Start();
- window_thread->Invoke<void>(
- RTC_FROM_HERE, [&info]() { info = CreateTestWindow(kWindowTitle); });
+ SendTask(window_thread.get(), [&] { info = CreateTestWindow(kWindowTitle); });
// Intentionally create a deadlock to cause the window to become unresponsive.
mtx.lock();
@@ -82,8 +82,7 @@
window_list.end());
mtx.unlock();
- window_thread->Invoke<void>(RTC_FROM_HERE,
- [&info]() { DestroyTestWindow(info); });
+ SendTask(window_thread.get(), [&info]() { DestroyTestWindow(info); });
window_thread->Stop();
}
@@ -106,8 +105,7 @@
window_list.end());
mtx.unlock();
- window_thread->Invoke<void>(RTC_FROM_HERE,
- [&info]() { DestroyTestWindow(info); });
+ SendTask(window_thread.get(), [&info]() { DestroyTestWindow(info); });
window_thread->Stop();
}
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 60fe37d..30a82e6 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -167,8 +167,8 @@
"../api:libjingle_peerconnection_api",
"../api/task_queue:pending_task_safety_flag",
"../api/units:time_delta",
- "../rtc_base",
"../rtc_base:copy_on_write_buffer",
+ "../rtc_base:task_queue_for_test",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -183,8 +183,8 @@
sources = [ "base/fake_port_allocator.h" ]
deps = [
":rtc_p2p",
- "../rtc_base",
"../rtc_base:net_helpers",
+ "../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../rtc_base/memory:always_valid_pointer",
"../test:scoped_key_value_config",
diff --git a/p2p/base/fake_ice_transport.h b/p2p/base/fake_ice_transport.h
index 31db829..ae7bf89 100644
--- a/p2p/base/fake_ice_transport.h
+++ b/p2p/base/fake_ice_transport.h
@@ -24,6 +24,7 @@
#include "api/units/time_delta.h"
#include "p2p/base/ice_transport_internal.h"
#include "rtc_base/copy_on_write_buffer.h"
+#include "rtc_base/task_queue_for_test.h"
namespace cricket {
using ::webrtc::SafeTask;
@@ -357,7 +358,7 @@
void SetNetworkRoute(absl::optional<rtc::NetworkRoute> network_route) {
RTC_DCHECK_RUN_ON(network_thread_);
network_route_ = network_route;
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
RTC_DCHECK_RUN_ON(network_thread_);
SignalNetworkRouteChanged(network_route_);
});
diff --git a/p2p/base/fake_port_allocator.h b/p2p/base/fake_port_allocator.h
index e92825e..174d630 100644
--- a/p2p/base/fake_port_allocator.h
+++ b/p2p/base/fake_port_allocator.h
@@ -22,6 +22,7 @@
#include "p2p/base/udp_port.h"
#include "rtc_base/memory/always_valid_pointer.h"
#include "rtc_base/net_helpers.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h"
#include "test/scoped_key_value_config.h"
@@ -256,7 +257,7 @@
Initialize();
return;
}
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] { Initialize(); });
+ SendTask(network_thread_, [this] { Initialize(); });
}
webrtc::test::ScopedKeyValueConfig field_trials_;
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 684f3ac..2b41243 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -2114,12 +2114,12 @@
"../rtc_base:checks",
"../rtc_base:copy_on_write_buffer",
"../rtc_base:gunit_helpers",
- "../rtc_base:location",
"../rtc_base:logging",
"../rtc_base:macromagic",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:socket_address",
"../rtc_base:stringutils",
+ "../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../rtc_base/containers:flat_set",
"../rtc_base/third_party/sigslot",
@@ -2182,10 +2182,10 @@
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
- "../rtc_base:location",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:socket_address",
"../rtc_base:socket_factory",
+ "../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../system_wrappers",
"../test:perf_test",
@@ -2399,7 +2399,6 @@
"../rtc_base:event_tracer",
"../rtc_base:gunit_helpers",
"../rtc_base:ip_address",
- "../rtc_base:location",
"../rtc_base:logging",
"../rtc_base:macromagic",
"../rtc_base:network_constants",
@@ -2408,6 +2407,7 @@
"../rtc_base:rtc_json",
"../rtc_base:socket_address",
"../rtc_base:stringutils",
+ "../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../rtc_base:timeutils",
"../rtc_base/synchronization:mutex",
@@ -2591,7 +2591,6 @@
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:ip_address",
- "../rtc_base:location",
"../rtc_base:logging",
"../rtc_base:macromagic",
"../rtc_base:rtc_base_tests_utils",
@@ -2599,6 +2598,7 @@
"../rtc_base:rtc_json",
"../rtc_base:safe_conversions",
"../rtc_base:socket_address",
+ "../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../rtc_base:timeutils",
"../rtc_base/synchronization:mutex",
diff --git a/pc/channel_unittest.cc b/pc/channel_unittest.cc
index 40beff8..2dd5d09 100644
--- a/pc/channel_unittest.cc
+++ b/pc/channel_unittest.cc
@@ -41,9 +41,9 @@
#include "rtc_base/buffer.h"
#include "rtc_base/byte_order.h"
#include "rtc_base/checks.h"
-#include "rtc_base/location.h"
#include "rtc_base/rtc_certificate.h"
#include "rtc_base/ssl_identity.h"
+#include "rtc_base/task_queue_for_test.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/scoped_key_value_config.h"
@@ -134,7 +134,7 @@
~ChannelTest() {
if (network_thread_) {
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this]() {
+ SendTask(network_thread_, [this]() {
network_thread_safety_->SetNotAlive();
DeinitChannels();
});
@@ -285,7 +285,7 @@
void DeinitChannels() {
if (!channel1_ && !channel2_)
return;
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this]() {
+ SendTask(network_thread_, [this]() {
if (channel1_) {
RTC_DCHECK_RUN_ON(channel1_->network_thread());
channel1_->SetRtpTransport(nullptr);
@@ -303,14 +303,13 @@
auto rtp_transport = std::make_unique<webrtc::RtpTransport>(
rtcp_packet_transport == nullptr);
- network_thread_->Invoke<void>(
- RTC_FROM_HERE,
- [&rtp_transport, rtp_packet_transport, rtcp_packet_transport] {
- rtp_transport->SetRtpPacketTransport(rtp_packet_transport);
- if (rtcp_packet_transport) {
- rtp_transport->SetRtcpPacketTransport(rtcp_packet_transport);
- }
- });
+ SendTask(network_thread_,
+ [&rtp_transport, rtp_packet_transport, rtcp_packet_transport] {
+ rtp_transport->SetRtpPacketTransport(rtp_packet_transport);
+ if (rtcp_packet_transport) {
+ rtp_transport->SetRtcpPacketTransport(rtcp_packet_transport);
+ }
+ });
return rtp_transport;
}
@@ -320,17 +319,16 @@
auto dtls_srtp_transport = std::make_unique<webrtc::DtlsSrtpTransport>(
rtcp_dtls_transport == nullptr, field_trials_);
- network_thread_->Invoke<void>(
- RTC_FROM_HERE,
- [&dtls_srtp_transport, rtp_dtls_transport, rtcp_dtls_transport] {
- dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport,
- rtcp_dtls_transport);
- });
+ SendTask(network_thread_,
+ [&dtls_srtp_transport, rtp_dtls_transport, rtcp_dtls_transport] {
+ dtls_srtp_transport->SetDtlsTransports(rtp_dtls_transport,
+ rtcp_dtls_transport);
+ });
return dtls_srtp_transport;
}
void ConnectFakeTransports() {
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
bool asymmetric = false;
// Depending on test flags, could be using DTLS or raw packet transport.
if (fake_rtp_dtls_transport1_ && fake_rtp_dtls_transport2_) {
@@ -536,18 +534,21 @@
// network thread, which callers need to factor in.
bool IsSrtpActive(std::unique_ptr<typename T::Channel>& channel) {
RTC_DCHECK(channel.get());
- return network_thread_->Invoke<bool>(
- RTC_FROM_HERE, [&] { return channel->srtp_active(); });
+ bool result;
+ SendTask(network_thread_, [&] { result = channel->srtp_active(); });
+ return result;
}
// Returns true iff the transport is set for a channel and rtcp_mux_enabled()
// returns true.
bool IsRtcpMuxEnabled(std::unique_ptr<typename T::Channel>& channel) {
RTC_DCHECK(channel.get());
- return network_thread_->Invoke<bool>(RTC_FROM_HERE, [&] {
- return channel->rtp_transport() &&
- channel->rtp_transport()->rtcp_mux_enabled();
+ bool result;
+ SendTask(network_thread_, [&] {
+ result = channel->rtp_transport() &&
+ channel->rtp_transport()->rtcp_mux_enabled();
});
+ return result;
}
// Tests that can be used by derived classes.
@@ -863,7 +864,7 @@
// when creating the channel.
WaitForThreads();
media_channel1->set_num_network_route_changes(0);
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
rtc::NetworkRoute network_route;
// The transport channel becomes disconnected.
fake_rtp_dtls_transport1_->ice_transport()->SignalNetworkRouteChanged(
@@ -874,7 +875,7 @@
EXPECT_FALSE(media_channel1->last_network_route().connected);
media_channel1->set_num_network_route_changes(0);
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
rtc::NetworkRoute network_route;
network_route.connected = true;
network_route.local =
@@ -1034,9 +1035,8 @@
EXPECT_TRUE(CheckNoRtp2());
// Lose writability, which should fail.
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
- fake_rtp_dtls_transport1_->SetWritable(false);
- });
+ SendTask(network_thread_,
+ [this] { fake_rtp_dtls_transport1_->SetWritable(false); });
SendRtp1();
SendRtp2();
WaitForThreads();
@@ -1044,9 +1044,8 @@
EXPECT_TRUE(CheckNoRtp2());
// Regain writability
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
- fake_rtp_dtls_transport1_->SetWritable(true);
- });
+ SendTask(network_thread_,
+ [this] { fake_rtp_dtls_transport1_->SetWritable(true); });
EXPECT_TRUE(media_channel1()->sending());
SendRtp1();
SendRtp2();
@@ -1057,7 +1056,7 @@
EXPECT_TRUE(CheckNoRtp2());
// Lose writability completely
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
bool asymmetric = true;
fake_rtp_dtls_transport1_->SetDestination(nullptr, asymmetric);
});
@@ -1072,7 +1071,7 @@
EXPECT_TRUE(CheckNoRtp1());
// Gain writability back
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
bool asymmetric = true;
fake_rtp_dtls_transport1_->SetDestination(fake_rtp_dtls_transport2_.get(),
asymmetric);
@@ -1303,7 +1302,7 @@
bool rcv_success, send_success;
int rcv_buf, send_buf;
- network_thread_->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(network_thread_, [&] {
channel1_->SetOption(cricket::BaseChannel::ST_RTP,
rtc::Socket::Option::OPT_SNDBUF, kSndBufSize);
channel2_->SetOption(cricket::BaseChannel::ST_RTP,
@@ -1386,14 +1385,13 @@
void WaitForThreads(rtc::ArrayView<rtc::Thread*> threads) {
// `threads` and current thread post packets to network thread.
for (rtc::Thread* thread : threads) {
- thread->Invoke<void>(RTC_FROM_HERE,
- [thread] { ProcessThreadQueue(thread); });
+ SendTask(thread, [thread] { ProcessThreadQueue(thread); });
}
ProcessThreadQueue(rtc::Thread::Current());
// Network thread move them around and post back to worker = current thread.
if (!network_thread_->IsCurrent()) {
- network_thread_->Invoke<void>(
- RTC_FROM_HERE, [this] { ProcessThreadQueue(network_thread_); });
+ SendTask(network_thread_,
+ [this] { ProcessThreadQueue(network_thread_); });
}
// Worker thread = current Thread process received messages.
ProcessThreadQueue(rtc::Thread::Current());
@@ -1457,7 +1455,7 @@
worker_thread, network_thread, signaling_thread, std::move(ch),
cricket::CN_AUDIO, (flags & DTLS) != 0, webrtc::CryptoOptions(),
&ssrc_generator_);
- network_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(network_thread, [&]() {
RTC_DCHECK_RUN_ON(channel->network_thread());
channel->SetRtpTransport(rtp_transport);
});
@@ -1543,7 +1541,7 @@
worker_thread, network_thread, signaling_thread, std::move(ch),
cricket::CN_VIDEO, (flags & DTLS) != 0, webrtc::CryptoOptions(),
&ssrc_generator_);
- network_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(network_thread, [&]() {
RTC_DCHECK_RUN_ON(channel->network_thread());
channel->SetRtpTransport(rtp_transport);
});
diff --git a/pc/jsep_transport_controller_unittest.cc b/pc/jsep_transport_controller_unittest.cc
index ce8d161..c30f381 100644
--- a/pc/jsep_transport_controller_unittest.cc
+++ b/pc/jsep_transport_controller_unittest.cc
@@ -24,12 +24,12 @@
#include "p2p/base/transport_info.h"
#include "rtc_base/fake_ssl_identity.h"
#include "rtc_base/gunit.h"
-#include "rtc_base/location.h"
#include "rtc_base/logging.h"
#include "rtc_base/net_helper.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_fingerprint.h"
#include "rtc_base/ssl_identity.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h"
#include "test/gtest.h"
#include "test/scoped_key_value_config.h"
@@ -104,8 +104,7 @@
transport_controller_ = std::make_unique<JsepTransportController>(
network_thread, port_allocator, nullptr /* async_resolver_factory */,
config);
- network_thread->Invoke<void>(RTC_FROM_HERE,
- [&] { ConnectTransportControllerSignals(); });
+ SendTask(network_thread, [&] { ConnectTransportControllerSignals(); });
}
void ConnectTransportControllerSignals() {
@@ -259,7 +258,7 @@
void CreateLocalDescriptionAndCompleteConnectionOnNetworkThread() {
if (!network_thread_->IsCurrent()) {
- network_thread_->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(network_thread_.get(), [&] {
CreateLocalDescriptionAndCompleteConnectionOnNetworkThread();
});
return;
@@ -978,8 +977,7 @@
EXPECT_EQ(ice_signaled_on_thread_, network_thread_.get());
- network_thread_->Invoke<void>(RTC_FROM_HERE,
- [&] { transport_controller_.reset(); });
+ SendTask(network_thread_.get(), [&] { transport_controller_.reset(); });
}
// Test that if the TransportController was created with the
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index 638e7ed..ffe64fe 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -82,13 +82,13 @@
#include "rtc_base/firewall_socket_server.h"
#include "rtc_base/gunit.h"
#include "rtc_base/helpers.h"
-#include "rtc_base/location.h"
#include "rtc_base/logging.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_certificate.h"
#include "rtc_base/ssl_fingerprint.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/test_certificate_verifier.h"
#include "rtc_base/thread.h"
#include "rtc_base/time_utils.h"
@@ -2371,10 +2371,10 @@
turn_server_2_internal_address, turn_server_2_external_address);
// Bypass permission check on received packets so media can be sent before
// the candidate is signaled.
- network_thread()->Invoke<void>(RTC_FROM_HERE, [turn_server_1] {
+ SendTask(network_thread(), [turn_server_1] {
turn_server_1->set_enable_permission_checks(false);
});
- network_thread()->Invoke<void>(RTC_FROM_HERE, [turn_server_2] {
+ SendTask(network_thread(), [turn_server_2] {
turn_server_2->set_enable_permission_checks(false);
});
diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc
index 3fed5ee..3e39ffc 100644
--- a/pc/peer_connection_rampup_tests.cc
+++ b/pc/peer_connection_rampup_tests.cc
@@ -45,10 +45,10 @@
#include "rtc_base/firewall_socket_server.h"
#include "rtc_base/gunit.h"
#include "rtc_base/helpers.h"
-#include "rtc_base/location.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/socket_factory.h"
#include "rtc_base/ssl_certificate.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/test_certificate_verifier.h"
#include "rtc_base/thread.h"
#include "rtc_base/virtual_socket_server.h"
@@ -163,8 +163,7 @@
}
virtual ~PeerConnectionRampUpTest() {
- network_thread()->Invoke<void>(RTC_FROM_HERE,
- [this] { turn_servers_.clear(); });
+ SendTask(network_thread(), [this] { turn_servers_.clear(); });
}
bool CreatePeerConnectionWrappers(const RTCConfiguration& caller_config,
@@ -235,18 +234,17 @@
const std::string& common_name = "test turn server") {
rtc::Thread* thread = network_thread();
rtc::SocketFactory* factory = firewall_socket_server_.get();
- std::unique_ptr<cricket::TestTurnServer> turn_server =
- network_thread_->Invoke<std::unique_ptr<cricket::TestTurnServer>>(
- RTC_FROM_HERE, [thread, factory, type, common_name] {
- static const rtc::SocketAddress turn_server_internal_address{
- kTurnInternalAddress, kTurnInternalPort};
- static const rtc::SocketAddress turn_server_external_address{
- kTurnExternalAddress, kTurnExternalPort};
- return std::make_unique<cricket::TestTurnServer>(
- thread, factory, turn_server_internal_address,
- turn_server_external_address, type,
- true /*ignore_bad_certs=*/, common_name);
- });
+ std::unique_ptr<cricket::TestTurnServer> turn_server;
+ SendTask(network_thread_.get(), [&] {
+ static const rtc::SocketAddress turn_server_internal_address{
+ kTurnInternalAddress, kTurnInternalPort};
+ static const rtc::SocketAddress turn_server_external_address{
+ kTurnExternalAddress, kTurnExternalPort};
+ turn_server = std::make_unique<cricket::TestTurnServer>(
+ thread, factory, turn_server_internal_address,
+ turn_server_external_address, type, true /*ignore_bad_certs=*/,
+ common_name);
+ });
turn_servers_.push_back(std::move(turn_server));
}
diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc
index 333fde5..d66ee65 100644
--- a/pc/rtp_sender_receiver_unittest.cc
+++ b/pc/rtp_sender_receiver_unittest.cc
@@ -62,7 +62,6 @@
#include "pc/video_track.h"
#include "rtc_base/checks.h"
#include "rtc_base/gunit.h"
-#include "rtc_base/location.h"
#include "rtc_base/thread.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h
index 82d4bab..7e5cc74 100644
--- a/pc/test/integration_test_helpers.h
+++ b/pc/test/integration_test_helpers.h
@@ -107,13 +107,13 @@
#include "rtc_base/gunit.h"
#include "rtc_base/helpers.h"
#include "rtc_base/ip_address.h"
-#include "rtc_base/location.h"
#include "rtc_base/logging.h"
#include "rtc_base/mdns_responder_interface.h"
#include "rtc_base/numerics/safe_conversions.h"
#include "rtc_base/rtc_certificate_generator.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_stream_adapter.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/task_utils/repeating_task.h"
#include "rtc_base/test_certificate_verifier.h"
#include "rtc_base/thread.h"
@@ -1429,7 +1429,7 @@
// If turn servers were created for the test they need to be destroyed on
// the network thread.
- network_thread()->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread(), [this] {
turn_servers_.clear();
turn_customizers_.clear();
});
@@ -1641,25 +1641,22 @@
const std::string& common_name = "test turn server") {
rtc::Thread* thread = network_thread();
rtc::SocketFactory* socket_factory = fss_.get();
- std::unique_ptr<cricket::TestTurnServer> turn_server =
- network_thread()->Invoke<std::unique_ptr<cricket::TestTurnServer>>(
- RTC_FROM_HERE, [thread, socket_factory, internal_address,
- external_address, type, common_name] {
- return std::make_unique<cricket::TestTurnServer>(
- thread, socket_factory, internal_address, external_address,
- type,
- /*ignore_bad_certs=*/true, common_name);
- });
+ std::unique_ptr<cricket::TestTurnServer> turn_server;
+ SendTask(network_thread(), [&] {
+ turn_server = std::make_unique<cricket::TestTurnServer>(
+ thread, socket_factory, internal_address, external_address, type,
+ /*ignore_bad_certs=*/true, common_name);
+ });
turn_servers_.push_back(std::move(turn_server));
// Interactions with the turn server should be done on the network thread.
return turn_servers_.back().get();
}
cricket::TestTurnCustomizer* CreateTurnCustomizer() {
- std::unique_ptr<cricket::TestTurnCustomizer> turn_customizer =
- network_thread()->Invoke<std::unique_ptr<cricket::TestTurnCustomizer>>(
- RTC_FROM_HERE,
- [] { return std::make_unique<cricket::TestTurnCustomizer>(); });
+ std::unique_ptr<cricket::TestTurnCustomizer> turn_customizer;
+ SendTask(network_thread(), [&] {
+ turn_customizer = std::make_unique<cricket::TestTurnCustomizer>();
+ });
turn_customizers_.push_back(std::move(turn_customizer));
// Interactions with the turn customizer should be done on the network
// thread.
@@ -1670,16 +1667,10 @@
// 0.
void ExpectTurnCustomizerCountersIncremented(
cricket::TestTurnCustomizer* turn_customizer) {
- unsigned int allow_channel_data_counter =
- network_thread()->Invoke<unsigned int>(
- RTC_FROM_HERE, [turn_customizer] {
- return turn_customizer->allow_channel_data_cnt_;
- });
- EXPECT_GT(allow_channel_data_counter, 0u);
- unsigned int modify_counter = network_thread()->Invoke<unsigned int>(
- RTC_FROM_HERE,
- [turn_customizer] { return turn_customizer->modify_cnt_; });
- EXPECT_GT(modify_counter, 0u);
+ SendTask(network_thread(), [turn_customizer] {
+ EXPECT_GT(turn_customizer->allow_channel_data_cnt_, 0u);
+ EXPECT_GT(turn_customizer->modify_cnt_, 0u);
+ });
}
// Once called, SDP blobs and ICE candidates will be automatically signaled
@@ -1758,10 +1749,10 @@
}
void SetPortAllocatorFlags(uint32_t caller_flags, uint32_t callee_flags) {
- network_thread()->Invoke<void>(RTC_FROM_HERE, [this, caller_flags] {
+ SendTask(network_thread(), [this, caller_flags] {
caller()->port_allocator()->set_flags(caller_flags);
});
- network_thread()->Invoke<void>(RTC_FROM_HERE, [this, callee_flags] {
+ SendTask(network_thread(), [this, callee_flags] {
callee()->port_allocator()->set_flags(callee_flags);
});
}
diff --git a/pc/video_rtp_receiver_unittest.cc b/pc/video_rtp_receiver_unittest.cc
index 3367c6e..4019879 100644
--- a/pc/video_rtp_receiver_unittest.cc
+++ b/pc/video_rtp_receiver_unittest.cc
@@ -17,7 +17,7 @@
#include "api/video/recordable_encoded_frame.h"
#include "api/video/test/mock_recordable_encoded_frame.h"
#include "media/base/fake_media_engine.h"
-#include "rtc_base/location.h"
+#include "rtc_base/task_queue_for_test.h"
#include "test/gmock.h"
#include "test/gtest.h"
@@ -77,8 +77,8 @@
}
void SetMediaChannel(cricket::MediaChannel* media_channel) {
- worker_thread_->Invoke<void>(
- RTC_FROM_HERE, [&]() { receiver_->SetMediaChannel(media_channel); });
+ SendTask(worker_thread_.get(),
+ [&]() { receiver_->SetMediaChannel(media_channel); });
}
webrtc::VideoTrackSourceInterface* Source() {
@@ -178,7 +178,7 @@
EXPECT_CALL(sink, OnFrame).Times(2);
MockRecordableEncodedFrame frame;
broadcast(frame);
- worker_thread_->Invoke<void>(RTC_FROM_HERE, [&] { broadcast(frame); });
+ SendTask(worker_thread_.get(), [&] { broadcast(frame); });
}
TEST_F(VideoRtpReceiverTest, EnablesEncodedOutputOnChannelRestart) {
diff --git a/rtc_base/task_queue_for_test.h b/rtc_base/task_queue_for_test.h
index 260827f..616ec8e 100644
--- a/rtc_base/task_queue_for_test.h
+++ b/rtc_base/task_queue_for_test.h
@@ -26,8 +26,11 @@
inline void SendTask(TaskQueueBase* task_queue,
rtc::FunctionView<void()> task) {
- RTC_CHECK(!task_queue->IsCurrent())
- << "Called SendTask to a queue from the same queue";
+ if (task_queue->IsCurrent()) {
+ task();
+ return;
+ }
+
rtc::Event event;
absl::Cleanup cleanup = [&event] { event.Set(); };
task_queue->PostTask([task, cleanup = std::move(cleanup)] { task(); });
@@ -53,6 +56,7 @@
// Wait for the completion of all tasks posted prior to the
// WaitForPreviouslyPostedTasks() call.
void WaitForPreviouslyPostedTasks() {
+ RTC_DCHECK(!Get()->IsCurrent());
// 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([]() {});
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 2624bc6..71cf2d7 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -102,6 +102,7 @@
"../../rtc_base:gunit_helpers",
"../../rtc_base:logging",
"../../rtc_base:rtc_event",
+ "../../rtc_base:task_queue_for_test",
"../../rtc_base/synchronization:mutex",
]
}
@@ -131,6 +132,7 @@
"../../rtc_base:gunit_helpers",
"../../rtc_base:logging",
"../../rtc_base:rtc_event",
+ "../../rtc_base:task_queue_for_test",
]
}
}
diff --git a/test/network/emulated_turn_server.cc b/test/network/emulated_turn_server.cc
index 98267a8..0bc7ec6 100644
--- a/test/network/emulated_turn_server.cc
+++ b/test/network/emulated_turn_server.cc
@@ -15,6 +15,7 @@
#include "api/packet_socket_factory.h"
#include "rtc_base/strings/string_builder.h"
+#include "rtc_base/task_queue_for_test.h"
namespace {
@@ -121,7 +122,7 @@
: thread_(std::move(thread)), client_(client), peer_(peer) {
ice_config_.username = "keso";
ice_config_.password = "keso";
- thread_->Invoke<void>(RTC_FROM_HERE, [=]() {
+ SendTask(thread_.get(), [=]() {
RTC_DCHECK_RUN_ON(thread_.get());
turn_server_ = std::make_unique<cricket::TurnServer>(thread_.get());
turn_server_->set_realm(kTestRealm);
@@ -142,14 +143,14 @@
}
void EmulatedTURNServer::Stop() {
- thread_->Invoke<void>(RTC_FROM_HERE, [=]() {
+ SendTask(thread_.get(), [=]() {
RTC_DCHECK_RUN_ON(thread_.get());
sockets_.clear();
});
}
EmulatedTURNServer::~EmulatedTURNServer() {
- thread_->Invoke<void>(RTC_FROM_HERE, [=]() {
+ SendTask(thread_.get(), [=]() {
RTC_DCHECK_RUN_ON(thread_.get());
turn_server_.reset(nullptr);
});
diff --git a/test/network/network_emulation_pc_unittest.cc b/test/network/network_emulation_pc_unittest.cc
index 7662b1c..0519dd8 100644
--- a/test/network/network_emulation_pc_unittest.cc
+++ b/test/network/network_emulation_pc_unittest.cc
@@ -26,6 +26,7 @@
#include "pc/peer_connection_wrapper.h"
#include "pc/test/mock_peer_connection_observers.h"
#include "rtc_base/gunit.h"
+#include "rtc_base/task_queue_for_test.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/network/network_emulation.h"
@@ -146,7 +147,7 @@
std::unique_ptr<MockPeerConnectionObserver> bob_observer =
std::make_unique<MockPeerConnectionObserver>();
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(signaling_thread.get(), [&]() {
alice_pcf = CreatePeerConnectionFactory(signaling_thread.get(),
alice_network->network_thread());
alice_pc = CreatePeerConnection(alice_pcf, alice_observer.get(),
@@ -167,7 +168,7 @@
std::make_unique<PeerConnectionWrapper>(bob_pcf, bob_pc,
std::move(bob_observer));
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(signaling_thread.get(), [&]() {
rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
alice_pcf->CreateAudioSource(cricket::AudioOptions());
rtc::scoped_refptr<AudioTrackInterface> track =
@@ -256,7 +257,7 @@
std::unique_ptr<MockPeerConnectionObserver> bob_observer =
std::make_unique<MockPeerConnectionObserver>();
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(signaling_thread.get(), [&]() {
alice_pcf = CreatePeerConnectionFactory(signaling_thread.get(),
alice_network->network_thread());
alice_pc = CreatePeerConnection(
@@ -277,7 +278,7 @@
std::make_unique<PeerConnectionWrapper>(bob_pcf, bob_pc,
std::move(bob_observer));
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [&]() {
+ SendTask(signaling_thread.get(), [&]() {
rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
alice_pcf->CreateAudioSource(cricket::AudioOptions());
rtc::scoped_refptr<AudioTrackInterface> track =
diff --git a/test/network/network_emulation_unittest.cc b/test/network/network_emulation_unittest.cc
index e985ae1..591cc2c 100644
--- a/test/network/network_emulation_unittest.cc
+++ b/test/network/network_emulation_unittest.cc
@@ -20,6 +20,7 @@
#include "rtc_base/event.h"
#include "rtc_base/gunit.h"
#include "rtc_base/synchronization/mutex.h"
+#include "rtc_base/task_queue_for_test.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/network/network_emulation_manager.h"
@@ -209,10 +210,10 @@
for (uint64_t j = 0; j < 2; j++) {
rtc::Socket* s1 = nullptr;
rtc::Socket* s2 = nullptr;
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t1, [&] {
s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t2, [&] {
s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
@@ -222,17 +223,17 @@
rtc::SocketAddress a1(alice_endpoint->GetPeerLocalAddress(), 0);
rtc::SocketAddress a2(bob_endpoint->GetPeerLocalAddress(), 0);
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t1, [&] {
s1->Bind(a1);
a1 = s1->GetLocalAddress();
});
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t2, [&] {
s2->Bind(a2);
a2 = s2->GetLocalAddress();
});
- t1->Invoke<void>(RTC_FROM_HERE, [&] { s1->Connect(a2); });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { s2->Connect(a1); });
+ SendTask(t1, [&] { s1->Connect(a2); });
+ SendTask(t2, [&] { s2->Connect(a1); });
for (uint64_t i = 0; i < 1000; i++) {
t1->PostTask([&]() { s1->Send(data.data(), data.size()); });
@@ -244,8 +245,8 @@
EXPECT_EQ(r1.ReceivedCount(), 1000);
EXPECT_EQ(r2.ReceivedCount(), 1000);
- t1->Invoke<void>(RTC_FROM_HERE, [&] { delete s1; });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { delete s2; });
+ SendTask(t1, [&] { delete s1; });
+ SendTask(t2, [&] { delete s2; });
}
const int64_t single_packet_size = data.size() + kOverheadIpv4Udp;
@@ -363,10 +364,10 @@
for (uint64_t j = 0; j < 2; j++) {
rtc::Socket* s1 = nullptr;
rtc::Socket* s2 = nullptr;
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t1, [&] {
s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t2, [&] {
s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
@@ -376,17 +377,17 @@
rtc::SocketAddress a1(alice_endpoint->GetPeerLocalAddress(), 0);
rtc::SocketAddress a2(bob_endpoint->GetPeerLocalAddress(), 0);
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t1, [&] {
s1->Bind(a1);
a1 = s1->GetLocalAddress();
});
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t2, [&] {
s2->Bind(a2);
a2 = s2->GetLocalAddress();
});
- t1->Invoke<void>(RTC_FROM_HERE, [&] { s1->Connect(a2); });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { s2->Connect(a1); });
+ SendTask(t1, [&] { s1->Connect(a2); });
+ SendTask(t2, [&] { s2->Connect(a1); });
for (uint64_t i = 0; i < 1000; i++) {
t1->PostTask([&]() { s1->Send(data.data(), data.size()); });
@@ -398,8 +399,8 @@
EXPECT_EQ(r1.ReceivedCount(), 1000);
EXPECT_EQ(r2.ReceivedCount(), 1000);
- t1->Invoke<void>(RTC_FROM_HERE, [&] { delete s1; });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { delete s2; });
+ SendTask(t1, [&] { delete s1; });
+ SendTask(t2, [&] { delete s2; });
}
const int64_t single_packet_size = data.size() + kOverheadIpv4Udp;
@@ -465,12 +466,10 @@
rtc::Socket* s1 = nullptr;
rtc::Socket* s2 = nullptr;
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
- s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
- });
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
- s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
- });
+ SendTask(t1,
+ [&] { s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM); });
+ SendTask(t2,
+ [&] { s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM); });
SocketReader r1(s1, t1);
SocketReader r2(s2, t2);
@@ -478,17 +477,17 @@
rtc::SocketAddress a1(alice_endpoint->GetPeerLocalAddress(), 0);
rtc::SocketAddress a2(bob_endpoint->GetPeerLocalAddress(), 0);
- t1->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t1, [&] {
s1->Bind(a1);
a1 = s1->GetLocalAddress();
});
- t2->Invoke<void>(RTC_FROM_HERE, [&] {
+ SendTask(t2, [&] {
s2->Bind(a2);
a2 = s2->GetLocalAddress();
});
- t1->Invoke<void>(RTC_FROM_HERE, [&] { s1->Connect(a2); });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { s2->Connect(a1); });
+ SendTask(t1, [&] { s1->Connect(a2); });
+ SendTask(t2, [&] { s2->Connect(a1); });
// Send 11 packets, totalizing 1 second between the first and the last.
const int kNumPacketsSent = 11;
@@ -518,8 +517,8 @@
EXPECT_EQ(r1.ReceivedCount(), 11);
EXPECT_EQ(r2.ReceivedCount(), 11);
- t1->Invoke<void>(RTC_FROM_HERE, [&] { delete s1; });
- t2->Invoke<void>(RTC_FROM_HERE, [&] { delete s2; });
+ SendTask(t1, [&] { delete s1; });
+ SendTask(t2, [&] { delete s2; });
}
// Testing that packets are delivered via all routes using a routing scheme as
diff --git a/test/pc/e2e/peer_connection_quality_test.cc b/test/pc/e2e/peer_connection_quality_test.cc
index 596d118..89d5da0 100644
--- a/test/pc/e2e/peer_connection_quality_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test.cc
@@ -28,6 +28,7 @@
#include "rtc_base/gunit.h"
#include "rtc_base/numerics/safe_conversions.h"
#include "rtc_base/strings/string_builder.h"
+#include "rtc_base/task_queue_for_test.h"
#include "system_wrappers/include/cpu_info.h"
#include "system_wrappers/include/field_trial.h"
#include "test/field_trial.h"
@@ -345,18 +346,17 @@
});
// Setup call.
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [this, &run_params] {
- SetupCallOnSignalingThread(run_params);
- });
+ SendTask(signaling_thread.get(),
+ [this, &run_params] { SetupCallOnSignalingThread(run_params); });
std::unique_ptr<SignalingInterceptor> signaling_interceptor =
CreateSignalingInterceptor(run_params);
// Connect peers.
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [this, &signaling_interceptor] {
+ SendTask(signaling_thread.get(), [this, &signaling_interceptor] {
ExchangeOfferAnswer(signaling_interceptor.get());
});
WaitUntilIceCandidatesGathered(signaling_thread.get());
- signaling_thread->Invoke<void>(RTC_FROM_HERE, [this, &signaling_interceptor] {
+ SendTask(signaling_thread.get(), [this, &signaling_interceptor] {
ExchangeIceCandidates(signaling_interceptor.get());
});
WaitUntilPeersAreConnected(signaling_thread.get());
@@ -388,8 +388,7 @@
alice_->DetachAecDump();
bob_->DetachAecDump();
// Tear down the call.
- signaling_thread->Invoke<void>(RTC_FROM_HERE,
- [this] { TearDownCallOnSignalingThread(); });
+ SendTask(signaling_thread.get(), [this] { TearDownCallOnSignalingThread(); });
Timestamp end_time = Now();
RTC_LOG(LS_INFO) << "All peers are disconnected.";
@@ -597,9 +596,11 @@
rtc::Thread* signaling_thread) {
ASSERT_TRUE(time_controller_.Wait(
[&]() {
- return signaling_thread->Invoke<bool>(RTC_FROM_HERE, [&]() {
- return alice_->IsIceGatheringDone() && bob_->IsIceGatheringDone();
+ bool result;
+ SendTask(signaling_thread, [&]() {
+ result = alice_->IsIceGatheringDone() && bob_->IsIceGatheringDone();
});
+ return result;
},
2 * kDefaultTimeout));
}
@@ -609,14 +610,16 @@
// This means that ICE and DTLS are connected.
alice_connected_ = time_controller_.Wait(
[&]() {
- return signaling_thread->Invoke<bool>(
- RTC_FROM_HERE, [&]() { return alice_->IsIceConnected(); });
+ bool result;
+ SendTask(signaling_thread, [&] { result = alice_->IsIceConnected(); });
+ return result;
},
kDefaultTimeout);
bob_connected_ = time_controller_.Wait(
[&]() {
- return signaling_thread->Invoke<bool>(
- RTC_FROM_HERE, [&]() { return bob_->IsIceConnected(); });
+ bool result;
+ SendTask(signaling_thread, [&] { result = bob_->IsIceConnected(); });
+ return result;
},
kDefaultTimeout);
}
diff --git a/test/peer_scenario/BUILD.gn b/test/peer_scenario/BUILD.gn
index 9410a0b..43d203b 100644
--- a/test/peer_scenario/BUILD.gn
+++ b/test/peer_scenario/BUILD.gn
@@ -52,6 +52,7 @@
"../../rtc_base",
"../../rtc_base:null_socket_server",
"../../rtc_base:stringutils",
+ "../../rtc_base:task_queue_for_test",
"../../test:explicit_key_value_config",
"../../test:scoped_key_value_config",
"../logging:log_writer",
diff --git a/test/peer_scenario/scenario_connection.cc b/test/peer_scenario/scenario_connection.cc
index bd95da0..66eca27 100644
--- a/test/peer_scenario/scenario_connection.cc
+++ b/test/peer_scenario/scenario_connection.cc
@@ -17,6 +17,7 @@
#include "pc/jsep_transport_controller.h"
#include "pc/rtp_transport_internal.h"
#include "pc/session_description.h"
+#include "rtc_base/task_queue_for_test.h"
namespace webrtc {
class ScenarioIceConnectionImpl : public ScenarioIceConnection,
@@ -103,7 +104,7 @@
port_allocator_.get(),
/*async_resolver_factory*/ nullptr,
CreateJsepConfig())) {
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
RTC_DCHECK_RUN_ON(network_thread_);
uint32_t flags = cricket::PORTALLOCATOR_DISABLE_TCP;
port_allocator_->set_flags(port_allocator_->flags() | flags);
@@ -116,7 +117,7 @@
}
ScenarioIceConnectionImpl::~ScenarioIceConnectionImpl() {
- network_thread_->Invoke<void>(RTC_FROM_HERE, [this] {
+ SendTask(network_thread_, [this] {
RTC_DCHECK_RUN_ON(network_thread_);
jsep_controller_.reset();
port_allocator_.reset();
diff --git a/test/time_controller/BUILD.gn b/test/time_controller/BUILD.gn
index 11c6b77..c810eae 100644
--- a/test/time_controller/BUILD.gn
+++ b/test/time_controller/BUILD.gn
@@ -64,6 +64,7 @@
"../../rtc_base:macromagic",
"../../rtc_base:rtc_event",
"../../rtc_base:rtc_task_queue",
+ "../../rtc_base:task_queue_for_test",
"../../rtc_base:threading",
"../../rtc_base/synchronization:mutex",
"../../rtc_base/task_utils:repeating_task",
diff --git a/test/time_controller/simulated_time_controller_unittest.cc b/test/time_controller/simulated_time_controller_unittest.cc
index d9a5c16..78d8909 100644
--- a/test/time_controller/simulated_time_controller_unittest.cc
+++ b/test/time_controller/simulated_time_controller_unittest.cc
@@ -15,6 +15,7 @@
#include "rtc_base/event.h"
#include "rtc_base/task_queue.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/task_utils/repeating_task.h"
#include "test/gmock.h"
#include "test/gtest.h"
@@ -123,7 +124,7 @@
EXPECT_TRUE(delay_task_executed);
}
-TEST(SimulatedTimeControllerTest, ThreadYeildsOnInvoke) {
+TEST(SimulatedTimeControllerTest, ThreadYeildsOnSynchronousCall) {
GlobalSimulatedTimeController sim(kStartTime);
auto main_thread = sim.GetMainThread();
auto t2 = sim.CreateThread("thread", nullptr);
@@ -131,7 +132,7 @@
// Posting a task to the main thread, this should not run until AdvanceTime is
// called.
main_thread->PostTask([&] { task_has_run = true; });
- t2->Invoke<void>(RTC_FROM_HERE, [] {
+ SendTask(t2.get(), [] {
rtc::Event yield_event;
// Wait() triggers YieldExecution() which will runs message processing on
// all threads that are not in the yielded set.