Improve QuicConnectionTest test times

Certain QuicConnectionTest tests result in warnings like the following:

```
GMOCK WARNING:
../../net/third_party/quiche/src/quiche/quic/core/quic_connection_test.cc:2609: Actions ran out in EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))...
Called 2 times, but only 1 WillOnce() is specified - returning directly.
Stack trace:
...
```

Stack trace symbolization takes a long time in Chromium unit tests (see https://crbug.com/340987671), so avoiding these warnings reduces the test execution times from seconds to a few milliseconds. IIUC the changes in this CL don't affect the test behavior and just suppress the warnings.

Affected tests with test execution times from my gLinux cloudtop:

 - NoNonProbingFrameOnAlternativePath (41385 ms)
 - ReceivePathProbingFromNewPeerAddressAtServer (9948 ms)
 - ClientResponseToPathChallengeOnAlternativeSocket (2266 ms)
 - DuplicateAckCausesLostPackets (1991 ms)
 - PathValidationOnNewSocketSuccess (2241 ms)
 - PathValidationReceivesStatelessReset (2289 ms)
 - SendPathChallengeUsingBlockedNewSocket (2215 ms)
 - PathChallengeBeforePeerIpAddressChangeAtServer (2284 ms)
 - DetectSimutanuousServerAndClientAddressChangeWithProbe (2358 ms)

All the tests above are parameterized with similar test execution times for the following variants:
 - RFCv2_defer
 - RFCv2_immediate
 - RFCv1_defer
 - RFCv1_immediate
 - draft29_defer
 - draft29_immediate

The DuplicateAckCausesLostPackets test was also slow for the Q046_defer variant.

PiperOrigin-RevId: 650281559
1 file changed
tree: ae33cb8902430dbd78559f98dfb1b156f958019a
  1. build/
  2. depstool/
  3. quiche/
  4. .bazelrc
  5. .bazelversion
  6. BUILD.bazel
  7. CONTRIBUTING.md
  8. LICENSE
  9. README.md
  10. WHITESPACE
  11. WORKSPACE.bazel
README.md

QUICHE

QUICHE stands for QUIC, Http, Etc. It is Google‘s production-ready implementation of QUIC, HTTP/2, HTTP/3, and related protocols and tools. It powers Google’s servers, Chromium, Envoy, and other projects. It is actively developed and maintained.

There are two public QUICHE repositories. Either one may be used by embedders, as they are automatically kept in sync:

To embed QUICHE in your project, platform APIs need to be implemented and build files need to be created. Note that it is on the QUICHE team's roadmap to include default implementation for all platform APIs and to open-source build files. In the meanwhile, take a look at open source embedders like Chromium and Envoy to get started:

To contribute to QUICHE, follow instructions at CONTRIBUTING.md.

QUICHE is only supported on little-endian platforms.