forked from quic-go/quic-go
remove duplicate test cases for the legacy ACK frame
This commit is contained in:
@@ -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())
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user