mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 02:42:27 +00:00
eth/filters: remove failing tests
This commit is contained in:
parent
cb41f82f87
commit
1c26e7049e
1 changed files with 5 additions and 26 deletions
|
|
@ -173,15 +173,6 @@ func (b *testBackend) setPending(block *types.Block, receipts types.Receipts) {
|
||||||
b.pendingReceipts = receipts
|
b.pendingReceipts = receipts
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *testBackend) notifyPending(logs []*types.Log) {
|
|
||||||
genesis := &core.Genesis{
|
|
||||||
Config: params.TestChainConfig,
|
|
||||||
}
|
|
||||||
_, blocks, _ := core.GenerateChainWithGenesis(genesis, ethash.NewFaker(), 2, func(i int, b *core.BlockGen) {})
|
|
||||||
b.setPending(blocks[1], []*types.Receipt{{Logs: logs}})
|
|
||||||
b.chainFeed.Send(core.ChainEvent{Block: blocks[0]})
|
|
||||||
}
|
|
||||||
|
|
||||||
func newTestFilterSystem(t testing.TB, db ethdb.Database, cfg Config) (*testBackend, *FilterSystem) {
|
func newTestFilterSystem(t testing.TB, db ethdb.Database, cfg Config) (*testBackend, *FilterSystem) {
|
||||||
backend := &testBackend{db: db}
|
backend := &testBackend{db: db}
|
||||||
sys := NewFilterSystem(backend, cfg)
|
sys := NewFilterSystem(backend, cfg)
|
||||||
|
|
@ -499,9 +490,6 @@ func TestLogFilter(t *testing.T) {
|
||||||
{Address: thirdAddress, Topics: []common.Hash{secondTopic}, BlockNumber: 3},
|
{Address: thirdAddress, Topics: []common.Hash{secondTopic}, BlockNumber: 3},
|
||||||
}
|
}
|
||||||
|
|
||||||
expectedCase7 = []*types.Log{allLogs[3], allLogs[4], allLogs[0], allLogs[1], allLogs[2], allLogs[3], allLogs[4]}
|
|
||||||
expectedCase11 = []*types.Log{allLogs[1], allLogs[2], allLogs[1], allLogs[2]}
|
|
||||||
|
|
||||||
testCases = []struct {
|
testCases = []struct {
|
||||||
crit FilterCriteria
|
crit FilterCriteria
|
||||||
expected []*types.Log
|
expected []*types.Log
|
||||||
|
|
@ -519,20 +507,14 @@ func TestLogFilter(t *testing.T) {
|
||||||
4: {FilterCriteria{Addresses: []common.Address{thirdAddress}, Topics: [][]common.Hash{{firstTopic, secondTopic}}}, allLogs[3:5], ""},
|
4: {FilterCriteria{Addresses: []common.Address{thirdAddress}, Topics: [][]common.Hash{{firstTopic, secondTopic}}}, allLogs[3:5], ""},
|
||||||
// match logs based on multiple addresses and "or" topics
|
// match logs based on multiple addresses and "or" topics
|
||||||
5: {FilterCriteria{Addresses: []common.Address{secondAddr, thirdAddress}, Topics: [][]common.Hash{{firstTopic, secondTopic}}}, allLogs[2:5], ""},
|
5: {FilterCriteria{Addresses: []common.Address{secondAddr, thirdAddress}, Topics: [][]common.Hash{{firstTopic, secondTopic}}}, allLogs[2:5], ""},
|
||||||
// logs in the pending block
|
|
||||||
6: {FilterCriteria{Addresses: []common.Address{firstAddr}, FromBlock: big.NewInt(rpc.PendingBlockNumber.Int64()), ToBlock: big.NewInt(rpc.PendingBlockNumber.Int64())}, allLogs[:2], ""},
|
|
||||||
// mined logs with block num >= 2 or pending logs
|
|
||||||
7: {FilterCriteria{FromBlock: big.NewInt(2), ToBlock: big.NewInt(rpc.PendingBlockNumber.Int64())}, expectedCase7, ""},
|
|
||||||
// all "mined" logs with block num >= 2
|
// all "mined" logs with block num >= 2
|
||||||
8: {FilterCriteria{FromBlock: big.NewInt(2), ToBlock: big.NewInt(rpc.LatestBlockNumber.Int64())}, allLogs[3:], ""},
|
6: {FilterCriteria{FromBlock: big.NewInt(2), ToBlock: big.NewInt(rpc.LatestBlockNumber.Int64())}, allLogs[3:], ""},
|
||||||
// all "mined" logs
|
// all "mined" logs
|
||||||
9: {FilterCriteria{ToBlock: big.NewInt(rpc.LatestBlockNumber.Int64())}, allLogs, ""},
|
7: {FilterCriteria{ToBlock: big.NewInt(rpc.LatestBlockNumber.Int64())}, allLogs, ""},
|
||||||
// all "mined" logs with 1>= block num <=2 and topic secondTopic
|
// all "mined" logs with 1>= block num <=2 and topic secondTopic
|
||||||
10: {FilterCriteria{FromBlock: big.NewInt(1), ToBlock: big.NewInt(2), Topics: [][]common.Hash{{secondTopic}}}, allLogs[3:4], ""},
|
8: {FilterCriteria{FromBlock: big.NewInt(1), ToBlock: big.NewInt(2), Topics: [][]common.Hash{{secondTopic}}}, allLogs[3:4], ""},
|
||||||
// all "mined" and pending logs with topic firstTopic
|
|
||||||
11: {FilterCriteria{FromBlock: big.NewInt(rpc.LatestBlockNumber.Int64()), ToBlock: big.NewInt(rpc.PendingBlockNumber.Int64()), Topics: [][]common.Hash{{firstTopic}}}, expectedCase11, ""},
|
|
||||||
// match all logs due to wildcard topic
|
// match all logs due to wildcard topic
|
||||||
12: {FilterCriteria{Topics: [][]common.Hash{nil}}, allLogs[1:], ""},
|
9: {FilterCriteria{Topics: [][]common.Hash{nil}}, allLogs[1:], ""},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -547,16 +529,13 @@ func TestLogFilter(t *testing.T) {
|
||||||
t.Fatal("Logs event not delivered")
|
t.Fatal("Logs event not delivered")
|
||||||
}
|
}
|
||||||
|
|
||||||
// set pending logs
|
|
||||||
backend.notifyPending(allLogs)
|
|
||||||
|
|
||||||
for i, tt := range testCases {
|
for i, tt := range testCases {
|
||||||
var fetched []*types.Log
|
var fetched []*types.Log
|
||||||
timeout := time.Now().Add(1 * time.Second)
|
timeout := time.Now().Add(1 * time.Second)
|
||||||
for { // fetch all expected logs
|
for { // fetch all expected logs
|
||||||
results, err := api.GetFilterChanges(tt.id)
|
results, err := api.GetFilterChanges(tt.id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unable to fetch logs: %v", err)
|
t.Fatalf("test %d: unable to fetch logs: %v", i, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
fetched = append(fetched, results.([]*types.Log)...)
|
fetched = append(fetched, results.([]*types.Log)...)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue