core, les: fix les unit tests (#19823)
This commit is contained in:
committed by
Péter Szilágyi
parent
a32a2b933a
commit
b80c840af3
@@ -85,6 +85,7 @@ type BlockChain interface {
|
||||
|
||||
type txPool interface {
|
||||
AddRemotes(txs []*types.Transaction) []error
|
||||
AddRemotesSync(txs []*types.Transaction) []error
|
||||
Status(hashes []common.Hash) []core.TxStatus
|
||||
}
|
||||
|
||||
@@ -125,6 +126,9 @@ type ProtocolManager struct {
|
||||
|
||||
// Callbacks
|
||||
synced func() bool
|
||||
|
||||
// Testing fields
|
||||
addTxsSync bool
|
||||
}
|
||||
|
||||
// NewProtocolManager returns a new ethereum sub protocol manager. The Ethereum sub protocol manages peers capable
|
||||
@@ -1044,7 +1048,12 @@ func (pm *ProtocolManager) handleMsg(p *peer) error {
|
||||
hash := tx.Hash()
|
||||
stats[i] = pm.txStatus(hash)
|
||||
if stats[i].Status == core.TxStatusUnknown {
|
||||
if errs := pm.txpool.AddRemotes([]*types.Transaction{tx}); errs[0] != nil {
|
||||
addFn := pm.txpool.AddRemotes
|
||||
// Add txs synchronously for testing purpose
|
||||
if pm.addTxsSync {
|
||||
addFn = pm.txpool.AddRemotesSync
|
||||
}
|
||||
if errs := addFn([]*types.Transaction{tx}); errs[0] != nil {
|
||||
stats[i].Error = errs[0].Error()
|
||||
continue
|
||||
}
|
||||
|
@@ -496,6 +496,7 @@ func TestGetBloombitsProofs(t *testing.T) {
|
||||
func TestTransactionStatusLes2(t *testing.T) {
|
||||
server, tearDown := newServerEnv(t, 0, 2, nil)
|
||||
defer tearDown()
|
||||
server.pm.addTxsSync = true
|
||||
|
||||
chain := server.pm.blockchain.(*core.BlockChain)
|
||||
config := core.DefaultTxPoolConfig
|
||||
|
0
les/transactions.rlp
Executable file
0
les/transactions.rlp
Executable file
Reference in New Issue
Block a user