Fix race at destruction in StunServerTests and reenable them on tsan Bug: webrtc:2517 Change-Id: I3d4c65f250fe5048def68cbae45b5637a9ce68a1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275483 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38087}
diff --git a/p2p/base/stun_server_unittest.cc b/p2p/base/stun_server_unittest.cc index 3206c56..5d3f31f 100644 --- a/p2p/base/stun_server_unittest.cc +++ b/p2p/base/stun_server_unittest.cc
@@ -33,8 +33,7 @@ class StunServerTest : public ::testing::Test { public: - StunServerTest() : ss_(new rtc::VirtualSocketServer()), network_(ss_.get()) {} - virtual void SetUp() { + StunServerTest() : ss_(new rtc::VirtualSocketServer()), network_(ss_.get()) { server_.reset( new StunServer(rtc::AsyncUDPSocket::Create(ss_.get(), server_addr))); client_.reset(new rtc::TestClient( @@ -42,6 +41,8 @@ network_.Start(); } + ~StunServerTest() override { network_.Stop(); } + void Send(const StunMessage& msg) { rtc::ByteBufferWriter buf; msg.Write(&buf); @@ -71,10 +72,6 @@ std::unique_ptr<rtc::TestClient> client_; }; -// Disable for TSan v2, see -// https://code.google.com/p/webrtc/issues/detail?id=2517 for details. -#if !defined(THREAD_SANITIZER) - TEST_F(StunServerTest, TestGood) { // kStunLegacyTransactionIdLength = 16 for legacy RFC 3489 request std::string transaction_id = "0123456789abcdef"; @@ -135,8 +132,6 @@ delete msg; } -#endif // if !defined(THREAD_SANITIZER) - TEST_F(StunServerTest, TestBad) { const char* bad = "this is a completely nonsensical message whose only "