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 "