ethclient: fix flaky test

This commit is contained in:
Gary Rong 2024-01-24 15:52:10 +08:00
parent 6b0de79935
commit 4fb2259a58
2 changed files with 40 additions and 29 deletions

View file

@ -677,18 +677,20 @@ type rpcProgress struct {
PulledStates hexutil.Uint64 PulledStates hexutil.Uint64
KnownStates hexutil.Uint64 KnownStates hexutil.Uint64
SyncedAccounts hexutil.Uint64 SyncedAccounts hexutil.Uint64
SyncedAccountBytes hexutil.Uint64 SyncedAccountBytes hexutil.Uint64
SyncedBytecodes hexutil.Uint64 SyncedBytecodes hexutil.Uint64
SyncedBytecodeBytes hexutil.Uint64 SyncedBytecodeBytes hexutil.Uint64
SyncedStorage hexutil.Uint64 SyncedStorage hexutil.Uint64
SyncedStorageBytes hexutil.Uint64 SyncedStorageBytes hexutil.Uint64
HealedTrienodes hexutil.Uint64 HealedTrienodes hexutil.Uint64
HealedTrienodeBytes hexutil.Uint64 HealedTrienodeBytes hexutil.Uint64
HealedBytecodes hexutil.Uint64 HealedBytecodes hexutil.Uint64
HealedBytecodeBytes hexutil.Uint64 HealedBytecodeBytes hexutil.Uint64
HealingTrienodes hexutil.Uint64 HealingTrienodes hexutil.Uint64
HealingBytecode hexutil.Uint64 HealingBytecode hexutil.Uint64
TxIndexFinishedBlocks hexutil.Uint64
TxIndexRemainingBlocks hexutil.Uint64
} }
func (p *rpcProgress) toSyncProgress() *ethereum.SyncProgress { func (p *rpcProgress) toSyncProgress() *ethereum.SyncProgress {
@ -696,22 +698,24 @@ func (p *rpcProgress) toSyncProgress() *ethereum.SyncProgress {
return nil return nil
} }
return &ethereum.SyncProgress{ return &ethereum.SyncProgress{
StartingBlock: uint64(p.StartingBlock), StartingBlock: uint64(p.StartingBlock),
CurrentBlock: uint64(p.CurrentBlock), CurrentBlock: uint64(p.CurrentBlock),
HighestBlock: uint64(p.HighestBlock), HighestBlock: uint64(p.HighestBlock),
PulledStates: uint64(p.PulledStates), PulledStates: uint64(p.PulledStates),
KnownStates: uint64(p.KnownStates), KnownStates: uint64(p.KnownStates),
SyncedAccounts: uint64(p.SyncedAccounts), SyncedAccounts: uint64(p.SyncedAccounts),
SyncedAccountBytes: uint64(p.SyncedAccountBytes), SyncedAccountBytes: uint64(p.SyncedAccountBytes),
SyncedBytecodes: uint64(p.SyncedBytecodes), SyncedBytecodes: uint64(p.SyncedBytecodes),
SyncedBytecodeBytes: uint64(p.SyncedBytecodeBytes), SyncedBytecodeBytes: uint64(p.SyncedBytecodeBytes),
SyncedStorage: uint64(p.SyncedStorage), SyncedStorage: uint64(p.SyncedStorage),
SyncedStorageBytes: uint64(p.SyncedStorageBytes), SyncedStorageBytes: uint64(p.SyncedStorageBytes),
HealedTrienodes: uint64(p.HealedTrienodes), HealedTrienodes: uint64(p.HealedTrienodes),
HealedTrienodeBytes: uint64(p.HealedTrienodeBytes), HealedTrienodeBytes: uint64(p.HealedTrienodeBytes),
HealedBytecodes: uint64(p.HealedBytecodes), HealedBytecodes: uint64(p.HealedBytecodes),
HealedBytecodeBytes: uint64(p.HealedBytecodeBytes), HealedBytecodeBytes: uint64(p.HealedBytecodeBytes),
HealingTrienodes: uint64(p.HealingTrienodes), HealingTrienodes: uint64(p.HealingTrienodes),
HealingBytecode: uint64(p.HealingBytecode), HealingBytecode: uint64(p.HealingBytecode),
TxIndexFinishedBlocks: uint64(p.TxIndexFinishedBlocks),
TxIndexRemainingBlocks: uint64(p.TxIndexRemainingBlocks),
} }
} }

View file

@ -231,6 +231,13 @@ func newTestBackend(t *testing.T) (*node.Node, []*types.Block) {
if _, err := ethservice.BlockChain().InsertChain(blocks[1:]); err != nil { if _, err := ethservice.BlockChain().InsertChain(blocks[1:]); err != nil {
t.Fatalf("can't import test blocks: %v", err) 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 return n, blocks
} }