forked from quic-go/quic-go
ParseOtherFrames-16 148ns ± 4% 150ns ± 3% ~ (p=0.223 n=8+8) ParseAckFrame-16 302ns ± 2% 298ns ± 3% ~ (p=0.246 n=8+8) ParseStreamFrame-16 262ns ± 3% 213ns ± 2% -18.61% (p=0.000 n=8+8) ParseDatagramFrame-16 561ns ± 5% 547ns ± 4% ~ (p=0.105 n=8+8)
43 lines
1023 B
Go
43 lines
1023 B
Go
package wire
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestProbingFrames(t *testing.T) {
|
|
testCases := map[Frame]bool{
|
|
&AckFrame{}: false,
|
|
&ConnectionCloseFrame{}: false,
|
|
&DataBlockedFrame{}: false,
|
|
&PingFrame{}: false,
|
|
&ResetStreamFrame{}: false,
|
|
&StreamFrame{}: false,
|
|
&DatagramFrame{}: false,
|
|
&MaxDataFrame{}: false,
|
|
&MaxStreamDataFrame{}: false,
|
|
&StopSendingFrame{}: false,
|
|
&PathChallengeFrame{}: true,
|
|
&PathResponseFrame{}: true,
|
|
&NewConnectionIDFrame{}: true,
|
|
}
|
|
|
|
for f, expected := range testCases {
|
|
require.Equal(t, expected, IsProbingFrame(f))
|
|
}
|
|
}
|
|
|
|
func TestIsProbingFrameType(t *testing.T) {
|
|
tests := map[FrameType]bool{
|
|
FrameTypePathChallenge: true,
|
|
FrameTypePathResponse: true,
|
|
FrameTypeNewConnectionID: true,
|
|
FrameType(0x01): false,
|
|
FrameType(0xFF): false,
|
|
}
|
|
for ft, expected := range tests {
|
|
require.Equal(t, expected, IsProbingFrameType(ft))
|
|
}
|
|
}
|