Skip to content

Commit af6e1fd

Browse files
committed
testing: fix multiple race conditions in simulated time tests
Fixes #12480 Fixes #10568 Signed-off-by: Matt Klein <[email protected]>
1 parent 374dca7 commit af6e1fd

29 files changed

+375
-431
lines changed

test/extensions/filters/http/ratelimit/ratelimit_integration_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ TEST_P(RatelimitIntegrationTest, ConnectImmediateDisconnect) {
333333
initiateClientConnection();
334334
ASSERT_TRUE(fake_upstreams_[1]->waitForHttpConnection(*dispatcher_, fake_ratelimit_connection_));
335335
ASSERT_TRUE(fake_ratelimit_connection_->close());
336-
ASSERT_TRUE(fake_ratelimit_connection_->waitForDisconnect(true));
336+
ASSERT_TRUE(fake_ratelimit_connection_->waitForDisconnect());
337337
fake_ratelimit_connection_ = nullptr;
338338
// Rate limiter fails open
339339
waitForSuccessfulUpstreamResponse();

test/extensions/filters/network/local_ratelimit/local_ratelimit_integration_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ name: ratelimit
4040
ASSERT_TRUE(fake_upstream_connection->write("world"));
4141
tcp_client->waitForData("world");
4242
tcp_client->close();
43-
ASSERT_TRUE(fake_upstream_connection->waitForDisconnect(true));
43+
ASSERT_TRUE(fake_upstream_connection->waitForDisconnect());
4444

4545
EXPECT_EQ(0,
4646
test_server_->counter("local_rate_limit.local_rate_limit_stats.rate_limited")->value());

test/integration/autonomous_upstream.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void AutonomousStream::sendResponse() {
4848
int32_t request_body_length = -1;
4949
HeaderToInt(EXPECT_REQUEST_SIZE_BYTES, request_body_length, headers);
5050
if (request_body_length >= 0) {
51-
EXPECT_EQ(request_body_length, bodyLength());
51+
EXPECT_EQ(request_body_length, body_.length());
5252
}
5353

5454
if (!headers.get_(RESET_AFTER_REQUEST).empty()) {

test/integration/autonomous_upstream.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ class AutonomousStream : public FakeStream {
2424
AutonomousUpstream& upstream, bool allow_incomplete_streams);
2525
~AutonomousStream() override;
2626

27-
void setEndStream(bool set) override;
27+
void setEndStream(bool set) EXCLUSIVE_LOCKS_REQUIRED(lock_) override;
2828

2929
private:
3030
AutonomousUpstream& upstream_;
31-
void sendResponse();
31+
void sendResponse() EXCLUSIVE_LOCKS_REQUIRED(lock_);
3232
const bool allow_incomplete_streams_{false};
3333
};
3434

test/integration/cluster_filter_integration_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ TEST_P(ClusterFilterIntegrationTest, TestClusterFilter) {
124124
ASSERT_TRUE(tcp_client->write("", true));
125125
ASSERT_TRUE(fake_upstream_connection->waitForHalfClose());
126126
ASSERT_TRUE(fake_upstream_connection->write("", true));
127-
ASSERT_TRUE(fake_upstream_connection->waitForDisconnect(true));
127+
ASSERT_TRUE(fake_upstream_connection->waitForDisconnect());
128128
tcp_client->waitForDisconnect();
129129
}
130130

test/integration/cx_limit_integration_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ConnectionLimitIntegrationTest : public testing::TestWithParam<Network::Ad
4747
if (Network::AcceptedSocketImpl::acceptedSocketCount() == expected_connections) {
4848
return AssertionSuccess();
4949
}
50-
timeSystem().advanceTimeWait(std::chrono::milliseconds(500));
50+
timeSystem().advanceTimeWait(std::chrono::milliseconds(500), true);
5151
}
5252
if (Network::AcceptedSocketImpl::acceptedSocketCount() == expected_connections) {
5353
return AssertionSuccess();

0 commit comments

Comments
 (0)