PR: Part 2

This commit is contained in:
David Zhou 2025-05-13 15:24:48 -04:00
parent 7eaa0cb83b
commit 42aa31c867
2 changed files with 24 additions and 21 deletions

View file

@ -24,7 +24,7 @@ func TestFirehose_BlockPrintsToFirehose_SingleBlock(t *testing.T) {
f.OnBlockchainInit(params.AllEthashProtocolChanges)
blockNumbers := []uint64{123, 124, 125}
blockNumbers := []uint64{0}
for i, blockNum := range blockNumbers {
f.OnBlockStart(blockEvent(blockNum))
@ -40,24 +40,16 @@ func TestFirehose_BlockPrintsToFirehose_SingleBlock(t *testing.T) {
f.OnClose()
output := f.InternalTestingBuffer().String()
lines := strings.Split(strings.TrimSpace(f.InternalTestingBuffer().String()), "\n")
require.Len(t, lines, 2)
outNumber := make([]string, 0)
for i, line := range strings.Split(output, "\n") {
if i == 0 {
require.Equal(t, "FIRE INIT 3.0 geth 1.15.10", line)
continue
}
require.Equal(t, "FIRE INIT 3.0 geth 1.15.10", lines[0])
fields := strings.SplitN(line, " ", 4)
if len(fields) >= 3 {
fields := strings.SplitN(lines[1], " ", 4)
require.GreaterOrEqual(t, len(fields), 3)
require.Equal(t, "FIRE", fields[0])
require.Equal(t, "BLOCK", fields[1])
outNumber = append(outNumber, fields[2])
}
}
require.Equal(t, []string{"123", "124", "125"}, outNumber)
require.Equal(t, "0", fields[2])
}
func TestFirehose_BlocksPrintToFirehose_MultipleBlocksInOrder(t *testing.T) {

View file

@ -1,6 +1,7 @@
package firehose_test
import (
"fmt"
"math/big"
"path/filepath"
"strings"
@ -41,9 +42,13 @@ func TestFirehosePrestate(t *testing.T) {
for _, concurrent := range []bool{true, false} {
for _, folder := range testFolders {
name := filepath.Base(folder)
concurrencyLabel := "sequential"
if concurrent {
concurrencyLabel = "concurrent"
}
for _, model := range tracingModels {
t.Run(string(model)+"/"+name, func(t *testing.T) {
t.Run(fmt.Sprintf("%s/%s/%s", model, name, concurrencyLabel), func(t *testing.T) {
tracer, tracingHooks, onClose := newFirehoseTestTracer(t, model, concurrent)
defer onClose()
@ -52,7 +57,8 @@ func TestFirehosePrestate(t *testing.T) {
tracer.CloseBlockPrintQueue()
genesisLine, blockLines, unknownLines := readTracerFirehoseLines(t, tracer)
require.Len(t, unknownLines, 0, "Lines:\n%s", strings.Join(slicesMap(unknownLines, func(l unknownLine) string { return "- '" + string(l) + "'" }), "\n"))
require.Len(t, unknownLines, 0, "Lines:\n%s", strings.Join(
slicesMap(unknownLines, func(l unknownLine) string { return "- '" + string(l) + "'" }), "\n"))
require.NotNil(t, genesisLine)
blockLines.assertOnlyBlockEquals(t, filepath.Join(folder, string(model)), 1)
})
@ -189,8 +195,13 @@ func testBlockTracesCorrectly(t *testing.T, genesisSpec *core.Genesis, engine co
t.Helper()
for _, concurrent := range []bool{true, false} {
concurrencyLabel := "sequential"
if concurrent {
concurrencyLabel = "concurrent"
}
for _, model := range tracingModels {
t.Run(string(model), func(t *testing.T) {
t.Run(fmt.Sprintf("%s/%s", model, concurrencyLabel), func(t *testing.T) {
tracer, tracingHooks, onClose := newFirehoseTestTracer(t, model, concurrent)
defer onClose()