diff --git a/cmd/workload/filtertest.go b/cmd/workload/filtertest.go index 32fcdc3919..42ea11ccb3 100644 --- a/cmd/workload/filtertest.go +++ b/cmd/workload/filtertest.go @@ -29,55 +29,30 @@ import ( "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethclient" - "github.com/ethereum/go-ethereum/internal/flags" "github.com/ethereum/go-ethereum/internal/utesting" "github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rpc" "github.com/urfave/cli/v2" ) -var ( - filterCommand = &cli.Command{ - Name: "filter", - Usage: "Log filter workload test commands", - Subcommands: []*cli.Command{ - filterGenCommand, - filterPerfCommand, - }, +type filterTestSuite struct { + ec *ethclient.Client + filterTest +} + +func newFilterTestSuite(ctx *cli.Context) *filterTestSuite { + s := &filterTestSuite{ec: makeEthClient(ctx)} + s.filterTest.initFilterTest(ctx) + return s +} + +func (s *filterTestSuite) allTests() []utesting.Test { + return []utesting.Test{ + {Name: "Filter/ShortRange", Fn: s.filterShortRange}, + {Name: "Filter/LongRange", Fn: s.filterLongRange}, + {Name: "Filter/FullRange", Fn: s.filterFullRange}, } - filterGenCommand = &cli.Command{ - Name: "generate", - Usage: "Generates query set for log filter workload test", - ArgsUsage: "", - Action: filterGenCmd, - Flags: []cli.Flag{ - filterQueryFileFlag, - filterErrorFileFlag, - }, - } - filterPerfCommand = &cli.Command{ - Name: "performance", - Usage: "Runs log filter performance test against an RPC endpoint", - ArgsUsage: "", - Action: filterPerfCmd, - Flags: []cli.Flag{ - filterQueryFileFlag, - filterErrorFileFlag, - }, - } - filterQueryFileFlag = &cli.StringFlag{ - Name: "queries", - Usage: "JSON file containing filter test queries", - Category: flags.TestingCategory, - Value: "filter_queries.json", - } - filterErrorFileFlag = &cli.StringFlag{ - Name: "errors", - Usage: "JSON file containing failed filter queries", - Category: flags.TestingCategory, - Value: "filter_errors.json", - } -) +} type filterTest struct { filterQueryFile, filterErrorFile string diff --git a/cmd/workload/filtertestgen.go b/cmd/workload/filtertestgen.go index 763938c3b3..0268d13665 100644 --- a/cmd/workload/filtertestgen.go +++ b/cmd/workload/filtertestgen.go @@ -28,10 +28,54 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" + "github.com/ethereum/go-ethereum/internal/flags" "github.com/ethereum/go-ethereum/rpc" "github.com/urfave/cli/v2" ) +var ( + filterCommand = &cli.Command{ + Name: "filter", + Usage: "Log filter workload test commands", + Subcommands: []*cli.Command{ + filterGenCommand, + filterPerfCommand, + }, + } + filterGenCommand = &cli.Command{ + Name: "generate", + Usage: "Generates query set for log filter workload test", + ArgsUsage: "", + Action: filterGenCmd, + Flags: []cli.Flag{ + filterQueryFileFlag, + filterErrorFileFlag, + }, + } + filterPerfCommand = &cli.Command{ + Name: "performance", + Usage: "Runs log filter performance test against an RPC endpoint", + ArgsUsage: "", + Action: filterPerfCmd, + Flags: []cli.Flag{ + filterQueryFileFlag, + filterErrorFileFlag, + }, + } + filterQueryFileFlag = &cli.StringFlag{ + Name: "queries", + Usage: "JSON file containing filter test queries", + Category: flags.TestingCategory, + Value: "filter_queries.json", + } + filterErrorFileFlag = &cli.StringFlag{ + Name: "errors", + Usage: "JSON file containing failed filter queries", + Category: flags.TestingCategory, + Value: "filter_errors.json", + } +) + // filterGenCmd is the main function of the filter tests generator. func filterGenCmd(ctx *cli.Context) error { f := newFilterTestGen(ctx) diff --git a/cmd/workload/filtertestperf.go b/cmd/workload/filtertestperf.go index 2fd10f8443..41d0dbeb81 100644 --- a/cmd/workload/filtertestperf.go +++ b/cmd/workload/filtertestperf.go @@ -28,7 +28,7 @@ import ( const passCount = 1 func filterPerfCmd(ctx *cli.Context) error { - f := newTestSuite(ctx) + f := newFilterTestSuite(ctx) if f.loadQueries() == 0 { exit("No test requests loaded") } diff --git a/cmd/workload/testsuite.go b/cmd/workload/testsuite.go index 179c5ef08f..56c8f1ff84 100644 --- a/cmd/workload/testsuite.go +++ b/cmd/workload/testsuite.go @@ -19,7 +19,6 @@ package main import ( "os" - "github.com/ethereum/go-ethereum/ethclient" "github.com/ethereum/go-ethereum/internal/flags" "github.com/ethereum/go-ethereum/internal/utesting" "github.com/ethereum/go-ethereum/log" @@ -51,27 +50,8 @@ var ( } ) -type filterTestSuite struct { - ec *ethclient.Client - filterTest -} - -func newTestSuite(ctx *cli.Context) *filterTestSuite { - s := &filterTestSuite{ec: makeEthClient(ctx)} - s.filterTest.initFilterTest(ctx) - return s -} - -func (s *filterTestSuite) allTests() []utesting.Test { - return []utesting.Test{ - {Name: "Filter/ShortRange", Fn: s.filterShortRange}, - {Name: "Filter/LongRange", Fn: s.filterLongRange}, - {Name: "Filter/FullRange", Fn: s.filterFullRange}, - } -} - func runTestCmd(ctx *cli.Context) error { - s := newTestSuite(ctx) + s := newFilterTestSuite(ctx) // Filter test cases. tests := s.allTests()