Properly setup MockPeerConnectionObserver in tests (continued).
This CL prevents dereferencing potentially null pointer by setting the pointer in client code. We can now safely call PeerConnection::Close(), which happens to trigger OnIceConnectionChange() on the observer. This is a followup to: https://webrtc-review.googlesource.com/c/src/+/107706 Bug: webrtc:9855 Change-Id: Ieebf8415f0a12fe87d8cd80d1eb06797926005df Reviewed-on: https://webrtc-review.googlesource.com/c/108785 Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Commit-Queue: Yves Gerey <yvesg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25462}
This commit is contained in:
parent
dd20c9c1e3
commit
4e93329839
@ -76,6 +76,7 @@ class PeerConnectionCryptoBaseTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
return absl::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
|
||||
std::move(observer));
|
||||
}
|
||||
|
||||
@ -123,6 +123,7 @@ class PeerConnectionDataChannelBaseTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
auto wrapper = absl::make_unique<PeerConnectionWrapperForDataChannelTest>(
|
||||
pc_factory, pc, std::move(observer));
|
||||
RTC_DCHECK(pc_factory->last_fake_sctp_transport_factory_);
|
||||
|
||||
@ -251,6 +251,7 @@ class PeerConnectionUsageHistogramTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
auto wrapper =
|
||||
absl::make_unique<PeerConnectionWrapperForUsageHistogramTest>(
|
||||
pc_factory, pc, std::move(observer));
|
||||
|
||||
@ -125,6 +125,7 @@ class PeerConnectionIceBaseTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
auto wrapper = absl::make_unique<PeerConnectionWrapperForIceTest>(
|
||||
pc_factory_, pc, std::move(observer));
|
||||
wrapper->set_network(fake_network);
|
||||
|
||||
@ -95,6 +95,7 @@ class PeerConnectionJsepTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
return absl::make_unique<PeerConnectionWrapper>(pc_factory, pc,
|
||||
std::move(observer));
|
||||
}
|
||||
|
||||
@ -105,6 +105,7 @@ class PeerConnectionMediaBaseTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
auto wrapper = absl::make_unique<PeerConnectionWrapperForMediaTest>(
|
||||
pc_factory, pc, std::move(observer));
|
||||
wrapper->set_media_engine(media_engine_ptr);
|
||||
|
||||
@ -117,6 +117,8 @@ class PeerConnectionRtpBaseTest : public testing::Test {
|
||||
auto observer = absl::make_unique<MockPeerConnectionObserver>();
|
||||
auto pc = pc_factory_->CreatePeerConnection(config, nullptr, nullptr,
|
||||
observer.get());
|
||||
EXPECT_TRUE(pc.get());
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
return absl::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
|
||||
std::move(observer));
|
||||
}
|
||||
|
||||
@ -90,6 +90,7 @@ class PeerConnectionSignalingBaseTest : public ::testing::Test {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
observer->SetPeerConnectionInterface(pc.get());
|
||||
return absl::make_unique<PeerConnectionWrapperForSignalingTest>(
|
||||
pc_factory_, pc, std::move(observer));
|
||||
}
|
||||
|
||||
@ -1397,6 +1397,8 @@ TEST_P(PeerConnectionInterfaceTest,
|
||||
rtc::scoped_refptr<PeerConnectionInterface> pc(
|
||||
pc_factory->CreatePeerConnection(config, std::move(port_allocator),
|
||||
nullptr, &observer_));
|
||||
EXPECT_TRUE(pc.get());
|
||||
observer_.SetPeerConnectionInterface(pc.get());
|
||||
|
||||
// Now validate that the config fields set above were applied to the
|
||||
// PortAllocator, as flags or otherwise.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user