diff --git a/ackhandler/received_packet_handler_test.go b/ackhandler/received_packet_handler_test.go index 6612ca35..6028d2ba 100644 --- a/ackhandler/received_packet_handler_test.go +++ b/ackhandler/received_packet_handler_test.go @@ -36,8 +36,7 @@ var _ = Describe("receivedPacketHandler", func() { It("rejects packets with packet number 0", func() { err := handler.ReceivedPacket(protocol.PacketNumber(0), false) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidPacketNumber)) + Expect(err).To(MatchError(errInvalidPacketNumber)) }) It("rejects a duplicate package with PacketNumber equal to LargestObserved", func() { @@ -46,8 +45,7 @@ var _ = Describe("receivedPacketHandler", func() { Expect(err).ToNot(HaveOccurred()) } err := handler.ReceivedPacket(4, false) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrDuplicatePacket)) + Expect(err).To(MatchError(ErrDuplicatePacket)) }) It("rejects a duplicate package with PacketNumber less than the LargestObserved", func() { @@ -56,8 +54,7 @@ var _ = Describe("receivedPacketHandler", func() { Expect(err).ToNot(HaveOccurred()) } err := handler.ReceivedPacket(2, false) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrDuplicatePacket)) + Expect(err).To(MatchError(ErrDuplicatePacket)) }) It("saves the time when each packet arrived", func() { diff --git a/ackhandler/sent_packet_handler_test.go b/ackhandler/sent_packet_handler_test.go index 035fdc2e..452a3944 100644 --- a/ackhandler/sent_packet_handler_test.go +++ b/ackhandler/sent_packet_handler_test.go @@ -201,9 +201,8 @@ var _ = Describe("SentPacketHandler", func() { Entropy: 1, } _, _, _, err := handler.ReceivedAck(&ack) - Expect(err).To(HaveOccurred()) + Expect(err).To(MatchError(ErrEntropy)) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(6))) - Expect(err).To(Equal(ErrEntropy)) }) It("completely processes an ACK without a NACK range", func() { @@ -295,8 +294,7 @@ var _ = Describe("SentPacketHandler", func() { Expect(err).ToNot(HaveOccurred()) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(3))) _, _, _, err = handler.ReceivedAck(&ack) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrDuplicateOrOutOfOrderAck)) + Expect(err).To(MatchError(ErrDuplicateOrOutOfOrderAck)) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(3))) }) @@ -310,8 +308,7 @@ var _ = Describe("SentPacketHandler", func() { Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(3))) ack.LargestObserved-- _, _, _, err = handler.ReceivedAck(&ack) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrDuplicateOrOutOfOrderAck)) + Expect(err).To(MatchError(ErrDuplicateOrOutOfOrderAck)) Expect(handler.LargestObserved).To(Equal(protocol.PacketNumber(largestObserved))) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(3))) }) @@ -321,8 +318,7 @@ var _ = Describe("SentPacketHandler", func() { LargestObserved: packets[len(packets)-1].PacketNumber + 1337, } _, _, _, err := handler.ReceivedAck(&ack) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errAckForUnsentPacket)) + Expect(err).To(MatchError(errAckForUnsentPacket)) Expect(handler.highestInOrderAckedPacketNumber).To(Equal(protocol.PacketNumber(0))) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(6))) }) diff --git a/frames/ack_frame_test.go b/frames/ack_frame_test.go index 681bc9eb..ed5974ef 100644 --- a/frames/ack_frame_test.go +++ b/frames/ack_frame_test.go @@ -89,8 +89,7 @@ var _ = Describe("AckFrame", func() { // LargestObserved: 8, NackRange: (8-7-3) to (8-7) b := bytes.NewReader([]byte{0x60, 0x8, 0x7, 0x72, 0x1, 0x1, 0x0, 0xc0, 0x15, 0x0, 0x0, 0x1, 0x7, 0x3}) _, err := ParseAckFrame(b, 32) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidNackRanges)) + Expect(err).To(MatchError(errInvalidNackRanges)) }) It("accepts truncated acks", func() { @@ -134,8 +133,7 @@ var _ = Describe("AckFrame", func() { // LargestObserved: 280, but NACK range is 301 packets long b := bytes.NewReader([]byte{0x64, 0x8, 0x18, 0x01, 0x72, 0x1, 0x1, 0x0, 0xc0, 0x15, 0x0, 0x0, 0x2, 0x1, 0x2b, 0x0, 0xff}) _, err := ParseAckFrame(b, 32) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidNackRanges)) + Expect(err).To(MatchError(errInvalidNackRanges)) }) }) }) diff --git a/frames/stop_waiting_frame_test.go b/frames/stop_waiting_frame_test.go index d390303d..bf3d7d6e 100644 --- a/frames/stop_waiting_frame_test.go +++ b/frames/stop_waiting_frame_test.go @@ -49,8 +49,7 @@ var _ = Describe("StopWaitingFrame", func() { Entropy: 0xAD, } err := frame.Write(b, 0) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errPacketNumberNotSet)) + Expect(err).To(MatchError(errPacketNumberNotSet)) }) It("errors when PacketNumberLen was not set", func() { @@ -61,8 +60,7 @@ var _ = Describe("StopWaitingFrame", func() { Entropy: 0xAD, } err := frame.Write(b, 0) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errPacketNumberLenNotSet)) + Expect(err).To(MatchError(errPacketNumberLenNotSet)) }) It("errors when the LeastUnackedDelta would be negative", func() { @@ -73,8 +71,7 @@ var _ = Describe("StopWaitingFrame", func() { PacketNumberLen: protocol.PacketNumberLen1, } err := frame.Write(b, 0) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errLeastUnackedHigherThanPacketNumber)) + Expect(err).To(MatchError(errLeastUnackedHigherThanPacketNumber)) }) Context("LeastUnackedDelta length", func() { @@ -144,8 +141,7 @@ var _ = Describe("StopWaitingFrame", func() { LeastUnacked: 10, } _, err := frame.MinLength() - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errPacketNumberLenNotSet)) + Expect(err).To(MatchError(errPacketNumberLenNotSet)) }) }) diff --git a/frames/stream_frame_test.go b/frames/stream_frame_test.go index 962a965a..4e20b09f 100644 --- a/frames/stream_frame_test.go +++ b/frames/stream_frame_test.go @@ -211,8 +211,7 @@ var _ = Describe("StreamFrame", func() { streamIDLen: 13, Data: []byte("foobar"), }).Write(b, 0) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidStreamIDLen)) + Expect(err).To(MatchError(errInvalidStreamIDLen)) }) It("writes a 1 byte StreamID", func() { diff --git a/handshake/connection_parameters_manager_test.go b/handshake/connection_parameters_manager_test.go index 31930515..6a1da498 100644 --- a/handshake/connection_parameters_manager_test.go +++ b/handshake/connection_parameters_manager_test.go @@ -29,8 +29,7 @@ var _ = Describe("ConnectionsParameterManager", func() { It("returns an error for a tag that is not set", func() { _, err := cpm.getRawValue(TagKEXS) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errTagNotInConnectionParameterMap)) + Expect(err).To(MatchError(errTagNotInConnectionParameterMap)) }) Context("SHLO", func() { @@ -114,8 +113,7 @@ var _ = Describe("ConnectionsParameterManager", func() { TagSFCW: {0xDE, 0xAD, 0xBE}, // 1 byte too short } err := cpm.SetFromMap(values) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrMalformedTag)) + Expect(err).To(MatchError(ErrMalformedTag)) Expect(cpm.GetSendStreamFlowControlWindow()).To(Equal(protocol.InitialStreamFlowControlWindow)) }) @@ -133,8 +131,7 @@ var _ = Describe("ConnectionsParameterManager", func() { TagSFCW: {0xDE, 0xAD, 0xBE}, // 1 byte too short } err := cpm.SetFromMap(values) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrMalformedTag)) + Expect(err).To(MatchError(ErrMalformedTag)) Expect(cpm.GetSendStreamFlowControlWindow()).To(Equal(protocol.InitialConnectionFlowControlWindow)) }) }) @@ -167,8 +164,7 @@ var _ = Describe("ConnectionsParameterManager", func() { TagSFCW: {0xDE, 0xAD, 0xBE}, // 1 byte too short } err := cpm.SetFromMap(values) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrMalformedTag)) + Expect(err).To(MatchError(ErrMalformedTag)) Expect(cpm.GetIdleConnectionStateLifetime()).To(Equal(protocol.InitialIdleConnectionStateLifetime)) }) @@ -203,8 +199,7 @@ var _ = Describe("ConnectionsParameterManager", func() { TagMSPC: {2, 0, 0}, // 1 byte too short } err := cpm.SetFromMap(values) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(ErrMalformedTag)) + Expect(err).To(MatchError(ErrMalformedTag)) }) It("gets the max streams per connection value", func() { diff --git a/public_header_test.go b/public_header_test.go index 6ccb636a..21b6bd75 100644 --- a/public_header_test.go +++ b/public_header_test.go @@ -25,15 +25,13 @@ var _ = Describe("Public Header", func() { It("does not accept 0-byte connection ID", func() { b := bytes.NewReader([]byte{0x00, 0x01}) _, err := parsePublicHeader(b) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errReceivedTruncatedConnectionID)) + Expect(err).To(MatchError(errReceivedTruncatedConnectionID)) }) It("rejects 0 as a connection ID", func() { b := bytes.NewReader([]byte{0x09, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51, 0x30, 0x33, 0x30, 0x01}) _, err := parsePublicHeader(b) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidConnectionID)) + Expect(err).To(MatchError(errInvalidConnectionID)) }) It("accepts 1-byte packet numbers", func() { @@ -130,8 +128,7 @@ var _ = Describe("Public Header", func() { PacketNumberLen: protocol.PacketNumberLen6, } err := hdr.WritePublicHeader(b) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errResetAndVersionFlagSet)) + Expect(err).To(MatchError(errResetAndVersionFlagSet)) }) It("truncates the connection ID", func() { @@ -151,15 +148,13 @@ var _ = Describe("Public Header", func() { It("errors when calling GetLength for Version Negotiation packets", func() { hdr := publicHeader{VersionFlag: true} _, err := hdr.GetLength() - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errGetLengthOnlyForRegularPackets)) + Expect(err).To(MatchError(errGetLengthOnlyForRegularPackets)) }) It("errors when calling GetLength for Public Reset packets", func() { hdr := publicHeader{ResetFlag: true} _, err := hdr.GetLength() - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errGetLengthOnlyForRegularPackets)) + Expect(err).To(MatchError(errGetLengthOnlyForRegularPackets)) }) It("errors when PacketNumberLen is not set", func() { @@ -168,8 +163,7 @@ var _ = Describe("Public Header", func() { PacketNumber: 0xDECAFBAD, } _, err := hdr.GetLength() - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errPacketNumberLenNotSet)) + Expect(err).To(MatchError(errPacketNumberLenNotSet)) }) It("gets the length of a packet with longest packet number length and connectionID", func() { @@ -215,8 +209,7 @@ var _ = Describe("Public Header", func() { PacketNumber: 0xDECAFBAD, } err := hdr.WritePublicHeader(b) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errPacketNumberLenNotSet)) + Expect(err).To(MatchError(errPacketNumberLenNotSet)) }) It("writes a header with a 1-byte packet number", func() { diff --git a/session_test.go b/session_test.go index ef2cd5eb..20da5232 100644 --- a/session_test.go +++ b/session_test.go @@ -118,8 +118,7 @@ var _ = Describe("Session", func() { StreamID: 4, Data: []byte{0xde, 0xca, 0xfb, 0xad}, }) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errInvalidStreamID)) + Expect(err).To(MatchError(errInvalidStreamID)) }) It("does not reject existing streams with even StreamIDs", func() { @@ -171,7 +170,7 @@ var _ = Describe("Session", func() { Expect(callbackCalled).To(BeTrue()) p := make([]byte, 4) _, err := session.streams[5].Read(p) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(p).To(Equal([]byte{0xde, 0xca, 0xfb, 0xad})) session.garbageCollectStreams() Expect(session.streams).To(HaveLen(1)) @@ -189,7 +188,7 @@ var _ = Describe("Session", func() { Expect(callbackCalled).To(BeTrue()) p := make([]byte, 4) _, err := session.streams[5].Read(p) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(p).To(Equal([]byte{0xde, 0xca, 0xfb, 0xad})) session.garbageCollectStreams() Expect(session.streams).To(HaveLen(1)) @@ -215,7 +214,7 @@ var _ = Describe("Session", func() { Expect(err).ToNot(HaveOccurred()) session.closeStreamsWithError(testErr) _, err = session.streams[5].Read(p) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) session.garbageCollectStreams() Expect(session.streams).To(HaveLen(1)) Expect(session.streams[5]).To(BeNil()) @@ -231,7 +230,7 @@ var _ = Describe("Session", func() { Expect(callbackCalled).To(BeTrue()) session.closeStreamsWithError(testErr) _, err := session.streams[5].Read([]byte{0}) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) session.garbageCollectStreams() Expect(session.streams).To(HaveLen(1)) Expect(session.streams[5]).To(BeNil()) @@ -244,15 +243,14 @@ var _ = Describe("Session", func() { FinBit: true, }) _, err := session.streams[5].Read([]byte{0}) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) session.streams[5].Close() session.garbageCollectStreams() err = session.handleStreamFrame(&frames.StreamFrame{ StreamID: 5, Data: []byte{}, }) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errReopeningStreamsNotAllowed)) + Expect(err).To(MatchError(errReopeningStreamsNotAllowed)) }) }) @@ -343,10 +341,10 @@ var _ = Describe("Session", func() { Eventually(func() int { return runtime.NumGoroutine() }).Should(Equal(nGoRoutinesBefore)) n, err := s.Read([]byte{0}) Expect(n).To(BeZero()) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) n, err = s.Write([]byte{0}) Expect(n).To(BeZero()) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) }) }) diff --git a/stream_test.go b/stream_test.go index 0fcc4f25..bcfdf818 100644 --- a/stream_test.go +++ b/stream_test.go @@ -272,7 +272,7 @@ var _ = Describe("Stream", func() { str.RegisterError(testErr) n, err := str.Write([]byte("foo")) Expect(n).To(BeZero()) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) }) Context("flow control", func() { @@ -348,7 +348,7 @@ var _ = Describe("Stream", func() { _, err := str.Write([]byte{0xDE, 0xCA, 0xFB, 0xAD}) Expect(b).To(BeTrue()) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) }) }) }) @@ -440,12 +440,12 @@ var _ = Describe("Stream", func() { str.AddStreamFrame(&frame) b := make([]byte, 4) n, err := str.Read(b) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(n).To(Equal(4)) Expect(b).To(Equal([]byte{0xDE, 0xAD, 0xBE, 0xEF})) n, err = str.Read(b) Expect(n).To(BeZero()) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) }) It("handles out-of-order frames", func() { @@ -464,12 +464,12 @@ var _ = Describe("Stream", func() { Expect(err).ToNot(HaveOccurred()) b := make([]byte, 4) n, err := str.Read(b) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(n).To(Equal(4)) Expect(b).To(Equal([]byte{0xDE, 0xAD, 0xBE, 0xEF})) n, err = str.Read(b) Expect(n).To(BeZero()) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) }) It("returns EOFs with partial read", func() { @@ -482,7 +482,7 @@ var _ = Describe("Stream", func() { Expect(err).ToNot(HaveOccurred()) b := make([]byte, 4) n, err := str.Read(b) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(n).To(Equal(2)) Expect(b[:n]).To(Equal([]byte{0xDE, 0xAD})) }) @@ -498,7 +498,7 @@ var _ = Describe("Stream", func() { b := make([]byte, 4) n, err := str.Read(b) Expect(n).To(BeZero()) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) }) }) @@ -516,12 +516,12 @@ var _ = Describe("Stream", func() { str.RegisterError(testErr) b := make([]byte, 4) n, err := str.Read(b) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) Expect(n).To(Equal(4)) Expect(b).To(Equal([]byte{0xDE, 0xAD, 0xBE, 0xEF})) n, err = str.Read(b) Expect(n).To(BeZero()) - Expect(err).To(Equal(io.EOF)) + Expect(err).To(MatchError(io.EOF)) }) It("returns errors", func() { @@ -539,7 +539,7 @@ var _ = Describe("Stream", func() { Expect(b).To(Equal([]byte{0xDE, 0xAD, 0xBE, 0xEF})) n, err = str.Read(b) Expect(n).To(BeZero()) - Expect(err).To(Equal(testErr)) + Expect(err).To(MatchError(testErr)) }) }) })