#include "quiche/quic/core/quic_chaos_protector.h"
#include <cstddef>
#include <memory>
#include <optional>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/frames/quic_crypto_frame.h"
#include "quiche/quic/core/quic_connection_id.h"
#include "quiche/quic/core/quic_framer.h"
#include "quiche/quic/core/quic_packet_number.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/core/quic_stream_frame_data_producer.h"
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/mock_random.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/quic/test_tools/simple_quic_framer.h"
namespace quic {
namespace test {
class QuicChaosProtectorTest : public QuicTestWithParam<ParsedQuicVersion>,
public QuicStreamFrameDataProducer { … };
namespace {
ParsedQuicVersionVector TestVersions() { … }
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(QuicChaosProtectorTest, Main) { … }
TEST_P(QuicChaosProtectorTest, DifferentRandom) { … }
TEST_P(QuicChaosProtectorTest, RandomnessZero) { … }
TEST_P(QuicChaosProtectorTest, Offset) { … }
TEST_P(QuicChaosProtectorTest, OffsetAndRandomnessZero) { … }
TEST_P(QuicChaosProtectorTest, ZeroRemainingBytesAfterSplit) { … }
}
}
}