From 42aa31c86709eda020190b625a5a147afeded42e Mon Sep 17 00:00:00 2001 From: David Zhou Date: Tue, 13 May 2025 15:24:48 -0400 Subject: [PATCH] PR: Part 2 --- eth/tracers/firehose_concurrency_test.go | 26 +++++++------------ .../tracetest/firehose/firehose_test.go | 19 +++++++++++--- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/eth/tracers/firehose_concurrency_test.go b/eth/tracers/firehose_concurrency_test.go index 78ae9bc95e..70188a6d40 100644 --- a/eth/tracers/firehose_concurrency_test.go +++ b/eth/tracers/firehose_concurrency_test.go @@ -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 { - 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) + fields := strings.SplitN(lines[1], " ", 4) + require.GreaterOrEqual(t, len(fields), 3) + require.Equal(t, "FIRE", fields[0]) + require.Equal(t, "BLOCK", fields[1]) + require.Equal(t, "0", fields[2]) } func TestFirehose_BlocksPrintToFirehose_MultipleBlocksInOrder(t *testing.T) { diff --git a/eth/tracers/internal/tracetest/firehose/firehose_test.go b/eth/tracers/internal/tracetest/firehose/firehose_test.go index 59959805b4..bbc1d1ed5d 100644 --- a/eth/tracers/internal/tracetest/firehose/firehose_test.go +++ b/eth/tracers/internal/tracetest/firehose/firehose_test.go @@ -1,6 +1,7 @@ package firehose_test import ( + "fmt" "math/big" "path/filepath" "strings" @@ -37,13 +38,17 @@ func TestFirehosePrestate(t *testing.T) { "./testdata/TestFirehosePrestate/suicide_double_withdraw", "./testdata/TestFirehosePrestate/extra_account_creations", } - + 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()