Add helper functions for PROTOCOL_QUIC_CRYPTO versions. gfe-relnote: n/a (add functions that are currently only used in tests) PiperOrigin-RevId: 298882420 Change-Id: If759ab3850d8054a257d3129cfb2c2bccf155a1f
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc index 3458c99..9cccff9 100644 --- a/quic/core/quic_versions.cc +++ b/quic/core/quic_versions.cc
@@ -229,6 +229,28 @@ return out; } +ParsedQuicVersionVector AllSupportedVersionsWithQuicCrypto() { + ParsedQuicVersionVector versions; + for (const ParsedQuicVersion& version : AllSupportedVersions()) { + if (version.handshake_protocol == PROTOCOL_QUIC_CRYPTO) { + versions.push_back(version); + } + } + QUIC_BUG_IF(versions.empty()) << "No version with QUIC crypto found."; + return versions; +} + +ParsedQuicVersionVector CurrentSupportedVersionsWithQuicCrypto() { + ParsedQuicVersionVector versions; + for (const ParsedQuicVersion& version : CurrentSupportedVersions()) { + if (version.handshake_protocol == PROTOCOL_QUIC_CRYPTO) { + versions.push_back(version); + } + } + QUIC_BUG_IF(versions.empty()) << "No version with QUIC crypto found."; + return versions; +} + ParsedQuicVersion ParseQuicVersionLabel(QuicVersionLabel version_label) { for (const ParsedQuicVersion& version : AllSupportedVersions()) { if (version_label == CreateQuicVersionLabel(version)) {
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h index bc15354..3151fa2 100644 --- a/quic/core/quic_versions.h +++ b/quic/core/quic_versions.h
@@ -363,6 +363,18 @@ QUIC_EXPORT_PRIVATE ParsedQuicVersionVector FilterSupportedVersions(ParsedQuicVersionVector versions); +// Returns a subset of AllSupportedVersions() with +// handshake_protocol == PROTOCOL_QUIC_CRYPTO, in the same order. +// Deprecated; only to be used in components that do not yet support +// PROTOCOL_TLS1_3. +ParsedQuicVersionVector AllSupportedVersionsWithQuicCrypto(); + +// Returns a subset of CurrentSupportedVersions() with +// handshake_protocol == PROTOCOL_QUIC_CRYPTO, in the same order. +// Deprecated; only to be used in components that do not yet support +// PROTOCOL_TLS1_3. +ParsedQuicVersionVector CurrentSupportedVersionsWithQuicCrypto(); + // Returns QUIC version of |index| in result of |versions|. Returns // QUIC_VERSION_UNSUPPORTED if |index| is out of bounds. QUIC_EXPORT_PRIVATE QuicTransportVersionVector
diff --git a/quic/qbone/qbone_client_test.cc b/quic/qbone/qbone_client_test.cc index 813d05b..a41e6a9 100644 --- a/quic/qbone/qbone_client_test.cc +++ b/quic/qbone/qbone_client_test.cc
@@ -34,11 +34,8 @@ ParsedQuicVersionVector GetTestParams() { ParsedQuicVersionVector test_versions; - for (const auto& version : CurrentSupportedVersions()) { - // TODO(b/113130636): Make QBONE work with TLS. - if (version.handshake_protocol == PROTOCOL_TLS1_3) { - continue; - } + // TODO(b/113130636): Make QBONE work with TLS. + for (const auto& version : CurrentSupportedVersionsWithQuicCrypto()) { // QBONE requires MESSAGE frames if (!version.SupportsMessageFrames()) { continue;
diff --git a/quic/qbone/qbone_session_test.cc b/quic/qbone/qbone_session_test.cc index c3219e5..629d281 100644 --- a/quic/qbone/qbone_session_test.cc +++ b/quic/qbone/qbone_session_test.cc
@@ -47,11 +47,8 @@ ParsedQuicVersionVector GetTestParams() { ParsedQuicVersionVector test_versions; - for (const auto& version : CurrentSupportedVersions()) { - // TODO(b/113130636): Make QBONE work with TLS. - if (version.handshake_protocol == PROTOCOL_TLS1_3) { - continue; - } + // TODO(b/113130636): Make QBONE work with TLS. + for (const auto& version : CurrentSupportedVersionsWithQuicCrypto()) { // QBONE requires MESSAGE frames if (!version.SupportsMessageFrames()) { continue;
diff --git a/quic/quartc/quartc_stream_test.cc b/quic/quartc/quartc_stream_test.cc index f1de032..7a8b22d 100644 --- a/quic/quartc/quartc_stream_test.cc +++ b/quic/quartc/quartc_stream_test.cc
@@ -47,19 +47,6 @@ static const QuicStreamId kStreamId = 5; -ParsedQuicVersionVector GetTestParams() { - ParsedQuicVersionVector test_versions; - - for (const auto& version : CurrentSupportedVersions()) { - // TODO(b/150224094): Enable versions with TLS handshake. - if (version.handshake_protocol != PROTOCOL_TLS1_3) { - test_versions.push_back(version); - } - } - - return test_versions; -} - // MockQuicSession that does not create streams and writes data from // QuicStream to a string. class MockQuicSession : public QuicSession { @@ -285,10 +272,12 @@ MockClock clock_; }; -INSTANTIATE_TEST_SUITE_P(Tests, - QuartcStreamTest, - ::testing::ValuesIn(GetTestParams()), - ::testing::PrintToStringParamName()); +// TODO(b/150224094): Enable versions with TLS handshake. +INSTANTIATE_TEST_SUITE_P( + Tests, + QuartcStreamTest, + ::testing::ValuesIn(CurrentSupportedVersionsWithQuicCrypto()), + ::testing::PrintToStringParamName()); // Write an entire string. TEST_P(QuartcStreamTest, WriteDataWhole) {