mirror of
https://github.com/restic/rest-server.git
synced 2025-12-07 09:36:13 -08:00
Update dependencies
This commit is contained in:
91
vendor/golang.org/x/net/http2/frame_test.go
generated
vendored
91
vendor/golang.org/x/net/http2/frame_test.go
generated
vendored
@@ -141,7 +141,7 @@ func TestWriteDataPadded(t *testing.T) {
|
||||
streamID: 1,
|
||||
endStream: false,
|
||||
data: []byte("foo"),
|
||||
pad: []byte("bar"),
|
||||
pad: []byte{0, 0, 0},
|
||||
wantHeader: FrameHeader{
|
||||
Type: FrameData,
|
||||
Flags: FlagDataPadded,
|
||||
@@ -1096,6 +1096,95 @@ func TestMetaFrameHeader(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetReuseFrames(t *testing.T) {
|
||||
fr, buf := testFramer()
|
||||
fr.SetReuseFrames()
|
||||
|
||||
// Check that DataFrames are reused. Note that
|
||||
// SetReuseFrames only currently implements reuse of DataFrames.
|
||||
firstDf := readAndVerifyDataFrame("ABC", 3, fr, buf, t)
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
df := readAndVerifyDataFrame("XYZ", 3, fr, buf, t)
|
||||
if df != firstDf {
|
||||
t.Errorf("Expected Framer to return references to the same DataFrame. Have %v and %v", &df, &firstDf)
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
df := readAndVerifyDataFrame("", 0, fr, buf, t)
|
||||
if df != firstDf {
|
||||
t.Errorf("Expected Framer to return references to the same DataFrame. Have %v and %v", &df, &firstDf)
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
df := readAndVerifyDataFrame("HHH", 3, fr, buf, t)
|
||||
if df != firstDf {
|
||||
t.Errorf("Expected Framer to return references to the same DataFrame. Have %v and %v", &df, &firstDf)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetReuseFramesMoreThanOnce(t *testing.T) {
|
||||
fr, buf := testFramer()
|
||||
fr.SetReuseFrames()
|
||||
|
||||
firstDf := readAndVerifyDataFrame("ABC", 3, fr, buf, t)
|
||||
fr.SetReuseFrames()
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
df := readAndVerifyDataFrame("XYZ", 3, fr, buf, t)
|
||||
// SetReuseFrames should be idempotent
|
||||
fr.SetReuseFrames()
|
||||
if df != firstDf {
|
||||
t.Errorf("Expected Framer to return references to the same DataFrame. Have %v and %v", &df, &firstDf)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNoSetReuseFrames(t *testing.T) {
|
||||
fr, buf := testFramer()
|
||||
const numNewDataFrames = 10
|
||||
dfSoFar := make([]interface{}, numNewDataFrames)
|
||||
|
||||
// Check that DataFrames are not reused if SetReuseFrames wasn't called.
|
||||
// SetReuseFrames only currently implements reuse of DataFrames.
|
||||
for i := 0; i < numNewDataFrames; i++ {
|
||||
df := readAndVerifyDataFrame("XYZ", 3, fr, buf, t)
|
||||
for _, item := range dfSoFar {
|
||||
if df == item {
|
||||
t.Errorf("Expected Framer to return new DataFrames since SetNoReuseFrames not set.")
|
||||
}
|
||||
}
|
||||
dfSoFar[i] = df
|
||||
}
|
||||
}
|
||||
|
||||
func readAndVerifyDataFrame(data string, length byte, fr *Framer, buf *bytes.Buffer, t *testing.T) *DataFrame {
|
||||
var streamID uint32 = 1<<24 + 2<<16 + 3<<8 + 4
|
||||
fr.WriteData(streamID, true, []byte(data))
|
||||
wantEnc := "\x00\x00" + string(length) + "\x00\x01\x01\x02\x03\x04" + data
|
||||
if buf.String() != wantEnc {
|
||||
t.Errorf("encoded as %q; want %q", buf.Bytes(), wantEnc)
|
||||
}
|
||||
f, err := fr.ReadFrame()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
df, ok := f.(*DataFrame)
|
||||
if !ok {
|
||||
t.Fatalf("got %T; want *DataFrame", f)
|
||||
}
|
||||
if !bytes.Equal(df.Data(), []byte(data)) {
|
||||
t.Errorf("got %q; want %q", df.Data(), []byte(data))
|
||||
}
|
||||
if f.Header().Flags&1 == 0 {
|
||||
t.Errorf("didn't see END_STREAM flag")
|
||||
}
|
||||
return df
|
||||
}
|
||||
|
||||
func encodeHeaderRaw(t *testing.T, pairs ...string) []byte {
|
||||
var he hpackEncoder
|
||||
return he.encodeHeaderRaw(t, pairs...)
|
||||
|
||||
Reference in New Issue
Block a user