diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-05-17 17:24:03 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-06-22 07:51:41 +0000 |
commit | 774f54339e5db91f785733232d3950366db65d07 (patch) | |
tree | 068e1b47bd1af94d77094ed12b604a6b83d9c22a /chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc | |
parent | f7eaed5286974984ba5f9e3189d8f49d03e99f81 (diff) | |
download | qtwebengine-chromium-774f54339e5db91f785733232d3950366db65d07.tar.gz |
BASELINE: Update Chromium to 102.0.5005.57
Change-Id: I885f714bb40ee724c28f94ca6bd8dbdb39915158
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc')
-rw-r--r-- | chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc new file mode 100644 index 00000000000..16ca977e994 --- /dev/null +++ b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils_test.cc @@ -0,0 +1,79 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "quiche/quic/test_tools/quic_test_utils.h" + +#include "quiche/quic/platform/api/quic_test.h" + +namespace quic { +namespace test { + +class QuicTestUtilsTest : public QuicTest {}; + +TEST_F(QuicTestUtilsTest, ConnectionId) { + EXPECT_NE(EmptyQuicConnectionId(), TestConnectionId()); + EXPECT_NE(EmptyQuicConnectionId(), TestConnectionId(1)); + EXPECT_EQ(TestConnectionId(), TestConnectionId()); + EXPECT_EQ(TestConnectionId(33), TestConnectionId(33)); + EXPECT_NE(TestConnectionId(0xdead), TestConnectionId(0xbeef)); + EXPECT_EQ(0x1337u, TestConnectionIdToUInt64(TestConnectionId(0x1337))); + EXPECT_NE(0xdeadu, TestConnectionIdToUInt64(TestConnectionId(0xbeef))); +} + +TEST_F(QuicTestUtilsTest, BasicApproxEq) { + EXPECT_APPROX_EQ(10, 10, 1e-6f); + EXPECT_APPROX_EQ(1000, 1001, 0.01f); + EXPECT_NONFATAL_FAILURE(EXPECT_APPROX_EQ(1000, 1100, 0.01f), ""); + + EXPECT_APPROX_EQ(64, 31, 0.55f); + EXPECT_NONFATAL_FAILURE(EXPECT_APPROX_EQ(31, 64, 0.55f), ""); +} + +TEST_F(QuicTestUtilsTest, QuicTimeDelta) { + EXPECT_APPROX_EQ(QuicTime::Delta::FromMicroseconds(1000), + QuicTime::Delta::FromMicroseconds(1003), 0.01f); + EXPECT_NONFATAL_FAILURE( + EXPECT_APPROX_EQ(QuicTime::Delta::FromMicroseconds(1000), + QuicTime::Delta::FromMicroseconds(1200), 0.01f), + ""); +} + +TEST_F(QuicTestUtilsTest, QuicBandwidth) { + EXPECT_APPROX_EQ(QuicBandwidth::FromBytesPerSecond(1000), + QuicBandwidth::FromBitsPerSecond(8005), 0.01f); + EXPECT_NONFATAL_FAILURE( + EXPECT_APPROX_EQ(QuicBandwidth::FromBytesPerSecond(1000), + QuicBandwidth::FromBitsPerSecond(9005), 0.01f), + ""); +} + +// Ensure that SimpleRandom does not change its output for a fixed seed. +TEST_F(QuicTestUtilsTest, SimpleRandomStability) { + SimpleRandom rng; + rng.set_seed(UINT64_C(0x1234567800010001)); + EXPECT_EQ(UINT64_C(12589383305231984671), rng.RandUint64()); + EXPECT_EQ(UINT64_C(17775425089941798664), rng.RandUint64()); +} + +// Ensure that the output of SimpleRandom does not depend on the size of the +// read calls. +TEST_F(QuicTestUtilsTest, SimpleRandomChunks) { + SimpleRandom rng; + std::string reference(16 * 1024, '\0'); + rng.RandBytes(&reference[0], reference.size()); + + for (size_t chunk_size : {3, 4, 7, 4096}) { + rng.set_seed(0); + size_t chunks = reference.size() / chunk_size; + std::string buffer(chunks * chunk_size, '\0'); + for (size_t i = 0; i < chunks; i++) { + rng.RandBytes(&buffer[i * chunk_size], chunk_size); + } + EXPECT_EQ(reference.substr(0, buffer.size()), buffer) + << "Failed for chunk_size = " << chunk_size; + } +} + +} // namespace test +} // namespace quic |