core, les: fix les unit tests (#19823)

This commit is contained in:
gary rong
2019-07-22 20:45:40 +08:00
committed by Péter Szilágyi
parent a32a2b933a
commit b80c840af3
5 changed files with 22 additions and 12 deletions

View File

@@ -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
}

View File

@@ -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
View File