forked from cerc-io/plugeth
ethclient: fix flaky test (#28864)
Fix flaky test due to incomplete transaction indexing
This commit is contained in:
parent
a8a87586c1
commit
765f2904d8
@ -677,18 +677,20 @@ type rpcProgress struct {
|
||||
PulledStates hexutil.Uint64
|
||||
KnownStates hexutil.Uint64
|
||||
|
||||
SyncedAccounts hexutil.Uint64
|
||||
SyncedAccountBytes hexutil.Uint64
|
||||
SyncedBytecodes hexutil.Uint64
|
||||
SyncedBytecodeBytes hexutil.Uint64
|
||||
SyncedStorage hexutil.Uint64
|
||||
SyncedStorageBytes hexutil.Uint64
|
||||
HealedTrienodes hexutil.Uint64
|
||||
HealedTrienodeBytes hexutil.Uint64
|
||||
HealedBytecodes hexutil.Uint64
|
||||
HealedBytecodeBytes hexutil.Uint64
|
||||
HealingTrienodes hexutil.Uint64
|
||||
HealingBytecode hexutil.Uint64
|
||||
SyncedAccounts hexutil.Uint64
|
||||
SyncedAccountBytes hexutil.Uint64
|
||||
SyncedBytecodes hexutil.Uint64
|
||||
SyncedBytecodeBytes hexutil.Uint64
|
||||
SyncedStorage hexutil.Uint64
|
||||
SyncedStorageBytes hexutil.Uint64
|
||||
HealedTrienodes hexutil.Uint64
|
||||
HealedTrienodeBytes hexutil.Uint64
|
||||
HealedBytecodes hexutil.Uint64
|
||||
HealedBytecodeBytes hexutil.Uint64
|
||||
HealingTrienodes hexutil.Uint64
|
||||
HealingBytecode hexutil.Uint64
|
||||
TxIndexFinishedBlocks hexutil.Uint64
|
||||
TxIndexRemainingBlocks hexutil.Uint64
|
||||
}
|
||||
|
||||
func (p *rpcProgress) toSyncProgress() *ethereum.SyncProgress {
|
||||
@ -696,22 +698,24 @@ func (p *rpcProgress) toSyncProgress() *ethereum.SyncProgress {
|
||||
return nil
|
||||
}
|
||||
return ðereum.SyncProgress{
|
||||
StartingBlock: uint64(p.StartingBlock),
|
||||
CurrentBlock: uint64(p.CurrentBlock),
|
||||
HighestBlock: uint64(p.HighestBlock),
|
||||
PulledStates: uint64(p.PulledStates),
|
||||
KnownStates: uint64(p.KnownStates),
|
||||
SyncedAccounts: uint64(p.SyncedAccounts),
|
||||
SyncedAccountBytes: uint64(p.SyncedAccountBytes),
|
||||
SyncedBytecodes: uint64(p.SyncedBytecodes),
|
||||
SyncedBytecodeBytes: uint64(p.SyncedBytecodeBytes),
|
||||
SyncedStorage: uint64(p.SyncedStorage),
|
||||
SyncedStorageBytes: uint64(p.SyncedStorageBytes),
|
||||
HealedTrienodes: uint64(p.HealedTrienodes),
|
||||
HealedTrienodeBytes: uint64(p.HealedTrienodeBytes),
|
||||
HealedBytecodes: uint64(p.HealedBytecodes),
|
||||
HealedBytecodeBytes: uint64(p.HealedBytecodeBytes),
|
||||
HealingTrienodes: uint64(p.HealingTrienodes),
|
||||
HealingBytecode: uint64(p.HealingBytecode),
|
||||
StartingBlock: uint64(p.StartingBlock),
|
||||
CurrentBlock: uint64(p.CurrentBlock),
|
||||
HighestBlock: uint64(p.HighestBlock),
|
||||
PulledStates: uint64(p.PulledStates),
|
||||
KnownStates: uint64(p.KnownStates),
|
||||
SyncedAccounts: uint64(p.SyncedAccounts),
|
||||
SyncedAccountBytes: uint64(p.SyncedAccountBytes),
|
||||
SyncedBytecodes: uint64(p.SyncedBytecodes),
|
||||
SyncedBytecodeBytes: uint64(p.SyncedBytecodeBytes),
|
||||
SyncedStorage: uint64(p.SyncedStorage),
|
||||
SyncedStorageBytes: uint64(p.SyncedStorageBytes),
|
||||
HealedTrienodes: uint64(p.HealedTrienodes),
|
||||
HealedTrienodeBytes: uint64(p.HealedTrienodeBytes),
|
||||
HealedBytecodes: uint64(p.HealedBytecodes),
|
||||
HealedBytecodeBytes: uint64(p.HealedBytecodeBytes),
|
||||
HealingTrienodes: uint64(p.HealingTrienodes),
|
||||
HealingBytecode: uint64(p.HealingBytecode),
|
||||
TxIndexFinishedBlocks: uint64(p.TxIndexFinishedBlocks),
|
||||
TxIndexRemainingBlocks: uint64(p.TxIndexRemainingBlocks),
|
||||
}
|
||||
}
|
||||
|
@ -231,6 +231,13 @@ func newTestBackend(t *testing.T) (*node.Node, []*types.Block) {
|
||||
if _, err := ethservice.BlockChain().InsertChain(blocks[1:]); err != nil {
|
||||
t.Fatalf("can't import test blocks: %v", err)
|
||||
}
|
||||
// Ensure the tx indexing is fully generated
|
||||
for ; ; time.Sleep(time.Millisecond * 100) {
|
||||
progress, err := ethservice.BlockChain().TxIndexProgress()
|
||||
if err == nil && progress.Done() {
|
||||
break
|
||||
}
|
||||
}
|
||||
return n, blocks
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user