forked from cerc-io/plugeth
* eth/fetcher: fix test to avoid hanging. Partial fix for #23331 * eth/filters: avoid dangling goroutines * eth/fetcher: revert closing of proceed
This commit is contained in:
parent
3b967d16ca
commit
7175f82495
@ -304,7 +304,6 @@ func TestTransactionFetcherSingletonRequesting(t *testing.T) {
|
|||||||
func TestTransactionFetcherFailedRescheduling(t *testing.T) {
|
func TestTransactionFetcherFailedRescheduling(t *testing.T) {
|
||||||
// Create a channel to control when tx requests can fail
|
// Create a channel to control when tx requests can fail
|
||||||
proceed := make(chan struct{})
|
proceed := make(chan struct{})
|
||||||
|
|
||||||
testTransactionFetcherParallel(t, txFetcherTest{
|
testTransactionFetcherParallel(t, txFetcherTest{
|
||||||
init: func() *TxFetcher {
|
init: func() *TxFetcher {
|
||||||
return NewTxFetcher(
|
return NewTxFetcher(
|
||||||
@ -1263,6 +1262,16 @@ func testTransactionFetcher(t *testing.T, tt txFetcherTest) {
|
|||||||
fetcher.Start()
|
fetcher.Start()
|
||||||
defer fetcher.Stop()
|
defer fetcher.Stop()
|
||||||
|
|
||||||
|
defer func() { // drain the wait chan on exit
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-wait:
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
// Crunch through all the test steps and execute them
|
// Crunch through all the test steps and execute them
|
||||||
for i, step := range tt.steps {
|
for i, step := range tt.steps {
|
||||||
switch step := step.(type) {
|
switch step := step.(type) {
|
||||||
|
@ -301,15 +301,18 @@ func TestLogFilterCreation(t *testing.T) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
for i, test := range testCases {
|
for i, test := range testCases {
|
||||||
_, err := api.NewFilter(test.crit)
|
id, err := api.NewFilter(test.crit)
|
||||||
if test.success && err != nil {
|
if err != nil && test.success {
|
||||||
t.Errorf("expected filter creation for case %d to success, got %v", i, err)
|
t.Errorf("expected filter creation for case %d to success, got %v", i, err)
|
||||||
}
|
}
|
||||||
if !test.success && err == nil {
|
if err == nil {
|
||||||
|
api.UninstallFilter(id)
|
||||||
|
if !test.success {
|
||||||
t.Errorf("expected testcase %d to fail with an error", i)
|
t.Errorf("expected testcase %d to fail with an error", i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TestInvalidLogFilterCreation tests whether invalid filter log criteria results in an error
|
// TestInvalidLogFilterCreation tests whether invalid filter log criteria results in an error
|
||||||
// when the filter is created.
|
// when the filter is created.
|
||||||
|
Loading…
Reference in New Issue
Block a user