Skip to content

Commit fc2e51d

Browse files
committed
Accept txs in any order; add blobs to blob txs
1 parent 1e4b39e commit fc2e51d

File tree

1 file changed

+33
-19
lines changed

1 file changed

+33
-19
lines changed

cmd/devp2p/internal/ethtest/suite.go

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -250,16 +250,23 @@ concurrently, with different request IDs.`)
250250
t.Fatalf("unexpected request id in response: got %d, want %d", got, want)
251251
}
252252

253-
// Check received headers for accuracy.
254-
if expected, err := s.chain.GetHeaders(req1); err != nil {
255-
t.Fatalf("failed to get expected headers for request 1: %v", err)
256-
} else if !headersMatch(expected, headers1.BlockHeadersRequest) {
257-
t.Fatalf("header mismatch: \nexpected %v \ngot %v", expected, headers1)
258-
}
259-
if expected, err := s.chain.GetHeaders(req2); err != nil {
260-
t.Fatalf("failed to get expected headers for request 2: %v", err)
261-
} else if !headersMatch(expected, headers2.BlockHeadersRequest) {
262-
t.Fatalf("header mismatch: \nexpected %v \ngot %v", expected, headers2)
253+
// Check if headers match.
254+
if got, err := s.chain.GetHeaders(req1); err != nil {
255+
t.Fatalf("failed to get expected block headers: %v", err)
256+
} else if !headersMatch(headers1.BlockHeadersRequest, got) && !headersMatch(headers2.BlockHeadersRequest, got) {
257+
t.Fatalf("header mismatch: \nexpected %v or %v \ngot %v", headers2, headers2, got)
258+
} else if headersMatch(headers1.BlockHeadersRequest, got) {
259+
if got2, err := s.chain.GetHeaders(req2); err != nil {
260+
t.Fatalf("failed to get expected block headers: %v", err)
261+
} else if !headersMatch(headers2.BlockHeadersRequest, got2) {
262+
t.Fatalf("header mismatch: \nexpected %v \ngot %v", headers2, got2)
263+
}
264+
} else {
265+
if got2, err := s.chain.GetHeaders(req2); err != nil {
266+
t.Fatalf("failed to get expected block headers: %v", err)
267+
} else if !headersMatch(headers1.BlockHeadersRequest, got2) {
268+
t.Fatalf("header mismatch: \nexpected %v \ngot %v", headers1, got2)
269+
}
263270
}
264271
}
265272

@@ -318,15 +325,22 @@ same request ID. The node should handle the request by responding to both reques
318325
}
319326

320327
// Check if headers match.
321-
if expected, err := s.chain.GetHeaders(request1); err != nil {
328+
if got, err := s.chain.GetHeaders(request1); err != nil {
322329
t.Fatalf("failed to get expected block headers: %v", err)
323-
} else if !headersMatch(expected, headers1.BlockHeadersRequest) {
324-
t.Fatalf("header mismatch: \nexpected %v \ngot %v", expected, headers1)
325-
}
326-
if expected, err := s.chain.GetHeaders(request2); err != nil {
327-
t.Fatalf("failed to get expected block headers: %v", err)
328-
} else if !headersMatch(expected, headers2.BlockHeadersRequest) {
329-
t.Fatalf("header mismatch: \nexpected %v \ngot %v", expected, headers2)
330+
} else if !headersMatch(headers1.BlockHeadersRequest, got) && !headersMatch(headers2.BlockHeadersRequest, got) {
331+
t.Fatalf("header mismatch: \nexpected %v or %v \ngot %v", headers2, headers2, got)
332+
} else if headersMatch(headers1.BlockHeadersRequest, got) {
333+
if got2, err := s.chain.GetHeaders(request2); err != nil {
334+
t.Fatalf("failed to get expected block headers: %v", err)
335+
} else if !headersMatch(headers2.BlockHeadersRequest, got2) {
336+
t.Fatalf("header mismatch: \nexpected %v \ngot %v", headers2, got2)
337+
}
338+
} else {
339+
if got2, err := s.chain.GetHeaders(request2); err != nil {
340+
t.Fatalf("failed to get expected block headers: %v", err)
341+
} else if !headersMatch(headers1.BlockHeadersRequest, got2) {
342+
t.Fatalf("header mismatch: \nexpected %v \ngot %v", headers1, got2)
343+
}
330344
}
331345
}
332346

@@ -887,7 +901,7 @@ func (s *Suite) makeBlobTxs(count, blobs int, discriminator byte) (txs types.Tra
887901
from, nonce := s.chain.GetSender(5)
888902
for i := 0; i < count; i++ {
889903
// Make blob data, max of 2 blobs per tx.
890-
blobdata := make([]byte, blobs%3)
904+
blobdata := make([]byte, min(blobs, 2))
891905
for i := range blobdata {
892906
blobdata[i] = discriminator
893907
blobs -= 1

0 commit comments

Comments
 (0)