Export all fields in pdu

Oopsie!
This commit is contained in:
2024-07-31 15:10:46 +02:00
parent 4771ffa154
commit f1eb6b065d
8 changed files with 290 additions and 289 deletions

View File

@@ -11,10 +11,10 @@ import (
// region encode
func TestEncodeReturnsByteSliceOfLength16(t *testing.T) {
p := &PDU_HEADER{
command_length: 1,
command_id: 1,
command_status: 1,
sequence_number: 1,
Command_length: 1,
Command_id: 1,
Command_status: 1,
Sequence_number: 1,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -30,10 +30,10 @@ func TestEncodeReturnsByteSliceOfLength16(t *testing.T) {
func TestEncodeHandlesZeroValues(t *testing.T) {
p := &PDU_HEADER{
command_length: 0,
command_id: 0,
command_status: 0,
sequence_number: 0,
Command_length: 0,
Command_id: 0,
Command_status: 0,
Sequence_number: 0,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -53,10 +53,10 @@ func TestEncodeHandlesZeroValues(t *testing.T) {
func TestEncodeEncodesProperly(t *testing.T) {
p := &PDU_HEADER{
command_length: 1,
command_id: 2,
command_status: 3,
sequence_number: 4,
Command_length: 1,
Command_id: 2,
Command_status: 3,
Sequence_number: 4,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -77,10 +77,10 @@ func TestEncodeEncodesProperly(t *testing.T) {
func TestEncodeEncodesProperlyComplex(t *testing.T) {
p := &PDU_HEADER{
command_length: 13426724,
command_id: 254352,
command_status: 35634264,
sequence_number: 476543523,
Command_length: 13426724,
Command_id: 254352,
Command_status: 35634264,
Sequence_number: 476543523,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -101,10 +101,10 @@ func TestEncodeEncodesProperlyComplex(t *testing.T) {
func TestEncodeIntoCorrectlyEncodesFields(t *testing.T) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -115,26 +115,26 @@ func TestEncodeIntoCorrectlyEncodesFields(t *testing.T) {
}
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
func TestEncodeIntoHandlesLargerBuffer(t *testing.T) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
buf := bytes.NewBuffer(make([]byte, 20)) // larger buffer size
buf.Reset()
@@ -145,26 +145,26 @@ func TestEncodeIntoHandlesLargerBuffer(t *testing.T) {
}
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
func TestEncodeIntoUsesBigEndianEncoding(t *testing.T) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -175,26 +175,26 @@ func TestEncodeIntoUsesBigEndianEncoding(t *testing.T) {
}
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
func TestEncodeIntoConcurrencySafety(t *testing.T) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -209,26 +209,26 @@ func TestEncodeIntoConcurrencySafety(t *testing.T) {
wg.Wait()
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
func TestEncodeIntoWithMaximumValues(t *testing.T) {
p := &PDU_HEADER{
command_length: math.MaxUint32,
command_id: math.MaxUint32,
command_status: math.MaxUint32,
sequence_number: math.MaxUint32,
Command_length: math.MaxUint32,
Command_id: math.MaxUint32,
Command_status: math.MaxUint32,
Sequence_number: math.MaxUint32,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -239,26 +239,26 @@ func TestEncodeIntoWithMaximumValues(t *testing.T) {
}
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
func TestEncodeIntoWithBoundaryValues(t *testing.T) {
p := &PDU_HEADER{
command_length: 0,
command_id: 0,
command_status: 0,
sequence_number: 0,
Command_length: 0,
Command_id: 0,
Command_status: 0,
Sequence_number: 0,
}
buf := bytes.NewBuffer(make([]byte, 16))
buf.Reset()
@@ -269,17 +269,17 @@ func TestEncodeIntoWithBoundaryValues(t *testing.T) {
}
innerbuf := buf.Bytes()
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.command_length {
t.Errorf("Expected command_length %d, got %d", p.command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
if binary.BigEndian.Uint32(innerbuf[0:4]) != p.Command_length {
t.Errorf("Expected command_length %d, got %d", p.Command_length, binary.BigEndian.Uint32(innerbuf[0:4]))
}
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.command_id {
t.Errorf("Expected command_id %d, got %d", p.command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
if binary.BigEndian.Uint32(innerbuf[4:8]) != p.Command_id {
t.Errorf("Expected command_id %d, got %d", p.Command_id, binary.BigEndian.Uint32(innerbuf[4:8]))
}
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.command_status {
t.Errorf("Expected command_status %d, got %d", p.command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
if binary.BigEndian.Uint32(innerbuf[8:12]) != p.Command_status {
t.Errorf("Expected command_status %d, got %d", p.Command_status, binary.BigEndian.Uint32(innerbuf[8:12]))
}
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
if binary.BigEndian.Uint32(innerbuf[12:16]) != p.Sequence_number {
t.Errorf("Expected sequence_number %d, got %d", p.Sequence_number, binary.BigEndian.Uint32(innerbuf[12:16]))
}
}
@@ -307,17 +307,17 @@ func TestDecodeParsesValidByteSlice(t *testing.T) {
t.Errorf("Expected no error, got %v", err)
}
if p.command_length != 16 {
t.Errorf("Expected command_length to be 16, got %d", p.command_length)
if p.Command_length != 16 {
t.Errorf("Expected command_length to be 16, got %d", p.Command_length)
}
if p.command_id != 1 {
t.Errorf("Expected command_id to be 1, got %d", p.command_id)
if p.Command_id != 1 {
t.Errorf("Expected command_id to be 1, got %d", p.Command_id)
}
if p.command_status != 2 {
t.Errorf("Expected command_status to be 2, got %d", p.command_status)
if p.Command_status != 2 {
t.Errorf("Expected command_status to be 2, got %d", p.Command_status)
}
if p.sequence_number != 3 {
t.Errorf("Expected sequence_number to be 3, got %d", p.sequence_number)
if p.Sequence_number != 3 {
t.Errorf("Expected sequence_number to be 3, got %d", p.Sequence_number)
}
}
@@ -343,17 +343,17 @@ func TestDecodeHandlesNilDataInput(t *testing.T) {
t.Errorf("Expected error, got none")
}
if p.command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.command_length)
if p.Command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.Command_length)
}
if p.command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.command_id)
if p.Command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.Command_id)
}
if p.command_status != 0 {
t.Errorf("Expected command_status to be 0, got %d", p.command_status)
if p.Command_status != 0 {
t.Errorf("Expected command_status to be 0, got %d", p.Command_status)
}
if p.sequence_number != 0 {
t.Errorf("Expected sequence_number to be 0, got %d", p.sequence_number)
if p.Sequence_number != 0 {
t.Errorf("Expected sequence_number to be 0, got %d", p.Sequence_number)
}
}
@@ -366,17 +366,17 @@ func TestDecodeHandlesEmptyByteSliceGracefully(t *testing.T) {
t.Errorf("Expected no error, got %v", err)
}
if p.command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.command_length)
if p.Command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.Command_length)
}
if p.command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.command_id)
if p.Command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.Command_id)
}
if p.command_status != 0 {
t.Errorf("Expected command_status to be 0, got %d", p.command_status)
if p.Command_status != 0 {
t.Errorf("Expected command_status to be 0, got %d", p.Command_status)
}
if p.sequence_number != 0 {
t.Errorf("Expected sequence_number to be 0, got %d", p.sequence_number)
if p.Sequence_number != 0 {
t.Errorf("Expected sequence_number to be 0, got %d", p.Sequence_number)
}
}
@@ -408,11 +408,11 @@ func TestDecodeHandlesByteSlicesWithMaxUint32Values(t *testing.T) {
t.Errorf("Expected no error, got %v", err)
}
if p.command_length != math.MaxUint32 {
t.Errorf("Expected command_length to be %d, got %d", math.MaxUint32, p.command_length)
if p.Command_length != math.MaxUint32 {
t.Errorf("Expected command_length to be %d, got %d", math.MaxUint32, p.Command_length)
}
if p.command_id != math.MaxUint32 {
t.Errorf("Expected command_id to be %d, got %d", math.MaxUint32, p.command_id)
if p.Command_id != math.MaxUint32 {
t.Errorf("Expected command_id to be %d, got %d", math.MaxUint32, p.Command_id)
}
}
@@ -425,11 +425,11 @@ func TestDecodeHandlesByteSlicesWithMinimumUint32Values(t *testing.T) {
t.Errorf("Expected no error, got %v", err)
}
if p.command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.command_length)
if p.Command_length != 0 {
t.Errorf("Expected command_length to be 0, got %d", p.Command_length)
}
if p.command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.command_id)
if p.Command_id != 0 {
t.Errorf("Expected command_id to be 0, got %d", p.Command_id)
}
}
@@ -445,10 +445,10 @@ func TestSizeReturns16(t *testing.T) {
// With buffer pool
func BenchmarkEncodeWithBufferPool(b *testing.B) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
@@ -461,10 +461,10 @@ func BenchmarkEncodeWithBufferPool(b *testing.B) {
// Without buffer pool
func BenchmarkEncodeWithoutBufferPool(b *testing.B) {
p := &PDU_HEADER{
command_length: 16,
command_id: 1,
command_status: 0,
sequence_number: 12345,
Command_length: 16,
Command_id: 1,
Command_status: 0,
Sequence_number: 12345,
}
b.ResetTimer()
for i := 0; i < b.N; i++ {