فهرست منبع

Add a test to catch that nobody rearranges fields in FrameHeader

So its size doesn't bloat because of alignment requirement.
Brad Fitzpatrick 11 سال پیش
والد
کامیت
64b29183e7
1فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
  1. 8 0
      frame_test.go

+ 8 - 0
frame_test.go

@@ -8,6 +8,7 @@ import (
 	"bytes"
 	"reflect"
 	"testing"
+	"unsafe"
 )
 
 func testFramer() (*Framer, *bytes.Buffer) {
@@ -15,6 +16,13 @@ func testFramer() (*Framer, *bytes.Buffer) {
 	return NewFramer(buf, buf), buf
 }
 
+func TestFrameSizes(t *testing.T) {
+	// Catch people rearranging the FrameHeader fields.
+	if got, want := int(unsafe.Sizeof(FrameHeader{})), 12; got != want {
+		t.Errorf("FrameHeader size = %d; want %d", got, want)
+	}
+}
+
 func TestWriteRST(t *testing.T) {
 	fr, buf := testFramer()
 	var streamID uint32 = 1<<24 + 2<<16 + 3<<8 + 4