diff --git a/test/integration/integration.cc b/test/integration/integration.cc index 688406c62527..b91be75da80d 100644 --- a/test/integration/integration.cc +++ b/test/integration/integration.cc @@ -155,7 +155,7 @@ void IntegrationTcpClient::close() { connection_->close(Network::ConnectionClose void IntegrationTcpClient::waitForData(const std::string& data, bool exact_match) { auto found = payload_reader_->data().find(data); - if ((exact_match && found != std::string::npos) || (!exact_match && found == 0)) { + if (found == 0 || (!exact_match && found != std::string::npos)) { return; } diff --git a/test/integration/tcp_proxy_integration_test.cc b/test/integration/tcp_proxy_integration_test.cc index ae3d1f132ef8..4166a3beb0e2 100644 --- a/test/integration/tcp_proxy_integration_test.cc +++ b/test/integration/tcp_proxy_integration_test.cc @@ -38,6 +38,8 @@ TEST_P(TcpProxyIntegrationTest, TcpProxyUpstreamWritesFirst) { ASSERT_TRUE(fake_upstream_connection->write("hello")); tcp_client->waitForData("hello"); + // Make sure inexact matches work also on data already received. + tcp_client->waitForData("ello", false); tcp_client->write("hello"); ASSERT_TRUE(fake_upstream_connection->waitForData(5));