diff --git a/internal/wire/ack_frame_legacy_test.go b/internal/wire/ack_frame_legacy_test.go index 612fbb34..075cdff4 100644 --- a/internal/wire/ack_frame_legacy_test.go +++ b/internal/wire/ack_frame_legacy_test.go @@ -1126,156 +1126,4 @@ var _ = Describe("ACK Frame (for gQUIC)", func() { }) }) }) - - Context("ACK range validator", func() { - It("accepts an ACK without NACK Ranges", func() { - ack := AckFrame{LargestAcked: 7} - Expect(ack.validateAckRanges()).To(BeTrue()) - }) - - It("rejects ACK ranges with a single range", func() { - ack := AckFrame{ - LargestAcked: 10, - AckRanges: []AckRange{{Smallest: 1, Largest: 10}}, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects ACK ranges with Largest of the first range unequal to LargestObserved", func() { - ack := AckFrame{ - LargestAcked: 10, - AckRanges: []AckRange{ - {Smallest: 8, Largest: 9}, - {Smallest: 2, Largest: 3}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects ACK ranges with Smallest greater than Largest", func() { - ack := AckFrame{ - LargestAcked: 10, - AckRanges: []AckRange{ - {Smallest: 8, Largest: 10}, - {Smallest: 4, Largest: 3}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects ACK ranges with Smallest greater than LargestObserved", func() { - ack := AckFrame{ - LargestAcked: 5, - AckRanges: []AckRange{ - {Smallest: 4, Largest: 10}, - {Smallest: 1, Largest: 2}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects ACK ranges in the wrong order", func() { - ack := AckFrame{ - LargestAcked: 7, - AckRanges: []AckRange{ - {Smallest: 2, Largest: 2}, - {Smallest: 6, Largest: 7}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects with overlapping ACK ranges", func() { - ack := AckFrame{ - LargestAcked: 7, - AckRanges: []AckRange{ - {Smallest: 5, Largest: 7}, - {Smallest: 2, Largest: 5}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects ACK ranges that are part of a larger ACK range", func() { - ack := AckFrame{ - LargestAcked: 7, - AckRanges: []AckRange{ - {Smallest: 4, Largest: 7}, - {Smallest: 5, Largest: 6}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("rejects with directly adjacent ACK ranges", func() { - ack := AckFrame{ - LargestAcked: 7, - AckRanges: []AckRange{ - {Smallest: 5, Largest: 7}, - {Smallest: 2, Largest: 4}, - }, - } - Expect(ack.validateAckRanges()).To(BeFalse()) - }) - - It("accepts an ACK with one lost packet", func() { - ack := AckFrame{ - LargestAcked: 10, - AckRanges: []AckRange{ - {Smallest: 5, Largest: 10}, - {Smallest: 1, Largest: 3}, - }, - } - Expect(ack.validateAckRanges()).To(BeTrue()) - }) - - It("accepts an ACK with multiple lost packets", func() { - ack := AckFrame{ - LargestAcked: 20, - AckRanges: []AckRange{ - {Smallest: 15, Largest: 20}, - {Smallest: 10, Largest: 12}, - {Smallest: 1, Largest: 3}, - }, - } - Expect(ack.validateAckRanges()).To(BeTrue()) - }) - }) - - Context("check if ACK frame acks a certain packet", func() { - It("works with an ACK without any ranges", func() { - f := AckFrame{ - LowestAcked: 5, - LargestAcked: 10, - } - Expect(f.AcksPacket(1)).To(BeFalse()) - Expect(f.AcksPacket(4)).To(BeFalse()) - Expect(f.AcksPacket(5)).To(BeTrue()) - Expect(f.AcksPacket(8)).To(BeTrue()) - Expect(f.AcksPacket(10)).To(BeTrue()) - Expect(f.AcksPacket(11)).To(BeFalse()) - Expect(f.AcksPacket(20)).To(BeFalse()) - }) - - It("works with an ACK with multiple ACK ranges", func() { - f := AckFrame{ - LowestAcked: 5, - LargestAcked: 20, - AckRanges: []AckRange{ - {Smallest: 15, Largest: 20}, - {Smallest: 5, Largest: 8}, - }, - } - Expect(f.AcksPacket(4)).To(BeFalse()) - Expect(f.AcksPacket(5)).To(BeTrue()) - Expect(f.AcksPacket(7)).To(BeTrue()) - Expect(f.AcksPacket(8)).To(BeTrue()) - Expect(f.AcksPacket(9)).To(BeFalse()) - Expect(f.AcksPacket(14)).To(BeFalse()) - Expect(f.AcksPacket(15)).To(BeTrue()) - Expect(f.AcksPacket(18)).To(BeTrue()) - Expect(f.AcksPacket(20)).To(BeTrue()) - Expect(f.AcksPacket(21)).To(BeFalse()) - }) - }) })