package query_test import ( "testing" "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/internal/pubsub/query" ) const testQuery = `tm.events.type='NewBlock' AND abci.account.name='Igor'` var testEvents = []types.Event{ { Type: "tm.events", Attributes: []types.EventAttribute{{ Key: "index", Value: "25", }, { Key: "type", Value: "NewBlock", }}, }, { Type: "abci.account", Attributes: []types.EventAttribute{{ Key: "name", Value: "Anya", }, { Key: "name", Value: "Igor", }}, }, } func BenchmarkParseCustom(b *testing.B) { for i := 0; i < b.N; i++ { _, err := query.New(testQuery) if err != nil { b.Fatal(err) } } } func BenchmarkMatchCustom(b *testing.B) { q, err := query.New(testQuery) if err != nil { b.Fatal(err) } b.ResetTimer() for i := 0; i < b.N; i++ { ok, err := q.Matches(testEvents) if err != nil { b.Fatal(err) } else if !ok { b.Error("no match") } } }