Index: net/quic/core/quic_crypto_client_stream_test.cc |
diff --git a/net/quic/core/quic_crypto_client_stream_test.cc b/net/quic/core/quic_crypto_client_stream_test.cc |
index 8cd39916b1cc0d5038369fe0ef1ff7ddebf8bb67..571ca249c749359ba0a58a2c8e2ce2b22cedcc81 100644 |
--- a/net/quic/core/quic_crypto_client_stream_test.cc |
+++ b/net/quic/core/quic_crypto_client_stream_test.cc |
@@ -252,12 +252,32 @@ TEST_F(QuicCryptoClientStreamTest, ServerConfigUpdateWithCert) { |
QuicCompressedCertsCache cache(1); |
CachedNetworkParameters network_params; |
CryptoHandshakeMessage server_config_update; |
- EXPECT_TRUE(crypto_config.BuildServerConfigUpdateMessage( |
+ |
+ class Callback : public BuildServerConfigUpdateMessageResultCallback { |
+ public: |
+ Callback(bool* ok, CryptoHandshakeMessage* message) |
+ : ok_(ok), message_(message) {} |
+ void Run(bool ok, const CryptoHandshakeMessage& message) override { |
+ *ok_ = ok; |
+ *message_ = message; |
+ } |
+ |
+ private: |
+ bool* ok_; |
+ CryptoHandshakeMessage* message_; |
+ }; |
+ |
+ // Note: relies on the callback being invoked synchronously |
+ bool ok = false; |
+ crypto_config.BuildServerConfigUpdateMessage( |
session_->connection()->version(), stream()->chlo_hash(), tokens, |
QuicSocketAddress(QuicIpAddress::Loopback6(), 1234), |
QuicIpAddress::Loopback6(), connection_->clock(), |
QuicRandom::GetInstance(), &cache, stream()->crypto_negotiated_params(), |
- &network_params, QuicTagVector(), &server_config_update)); |
+ &network_params, QuicTagVector(), |
+ std::unique_ptr<BuildServerConfigUpdateMessageResultCallback>( |
+ new Callback(&ok, &server_config_update))); |
+ EXPECT_TRUE(ok); |
std::unique_ptr<QuicData> data( |
CryptoFramer::ConstructHandshakeMessage(server_config_update)); |