From 5dc7f8b0cac723cda548b8f3c1aec95c0e29e24a Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sun, 22 May 2016 23:59:23 +0700 Subject: [PATCH] add missing test for StopWaitingManager call in SentPacketHandler --- ackhandler/sent_packet_handler.go | 1 - ackhandler/sent_packet_handler_test.go | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ackhandler/sent_packet_handler.go b/ackhandler/sent_packet_handler.go index 008f58a4..bc41aed4 100644 --- a/ackhandler/sent_packet_handler.go +++ b/ackhandler/sent_packet_handler.go @@ -72,7 +72,6 @@ func (h *sentPacketHandler) ackPacket(packetNumber protocol.PacketNumber) *Packe } delete(h.packetHistory, packetNumber) - // TODO: add tests h.stopWaitingManager.ReceivedAckForPacketNumber(packetNumber) return packet diff --git a/ackhandler/sent_packet_handler_test.go b/ackhandler/sent_packet_handler_test.go index a2f5acd8..fd6018c8 100644 --- a/ackhandler/sent_packet_handler_test.go +++ b/ackhandler/sent_packet_handler_test.go @@ -51,6 +51,19 @@ func (m *mockCongestion) SetNumEmulatedConnections(n int) { panic("not i func (m *mockCongestion) OnConnectionMigration() { panic("not implemented") } func (m *mockCongestion) SetSlowStartLargeReduction(enabled bool) { panic("not implemented") } +type mockStopWaiting struct { + receivedAckForPacketNumber protocol.PacketNumber +} + +func (m *mockStopWaiting) RegisterPacketForRetransmission(packet *Packet) { panic("not implemented") } +func (m *mockStopWaiting) GetStopWaitingFrame() *frames.StopWaitingFrame { panic("not implemented") } +func (m *mockStopWaiting) SentStopWaitingWithPacket(packetNumber protocol.PacketNumber) { + panic("not implemented") +} +func (m *mockStopWaiting) ReceivedAckForPacketNumber(packetNumber protocol.PacketNumber) { + m.receivedAckForPacketNumber = packetNumber +} + var _ = Describe("SentPacketHandler", func() { var ( handler *sentPacketHandler @@ -58,7 +71,7 @@ var _ = Describe("SentPacketHandler", func() { ) BeforeEach(func() { - stopWaitingManager := NewStopWaitingManager() + stopWaitingManager := &mockStopWaiting{} handler = NewSentPacketHandler(stopWaitingManager).(*sentPacketHandler) streamFrame = frames.StreamFrame{ StreamID: 5, @@ -66,6 +79,11 @@ var _ = Describe("SentPacketHandler", func() { } }) + It("informs the StopWaitingManager about ACKs received", func() { + handler.ackPacket(2) + Expect(handler.stopWaitingManager.(*mockStopWaiting).receivedAckForPacketNumber).To(Equal(protocol.PacketNumber(2))) + }) + Context("SentPacket", func() { It("accepts two consecutive packets", func() { entropy := EntropyAccumulator(0)