HomePhabricator

[test] Integration tests for unbroadcast functionality

Description

[test] Integration tests for unbroadcast functionality

Summary:
Check that...

  • mempool tracks & reattempts delivery of a transaction where a GETDATA hasn't been requested by a peer yet.
  • transaction delivery is not attempted again after GETDATA is received.
  • transaction is removed from the unbroadcast set when its removed from the mempool.

Adapted to our different APIs:

  • create_confirmed_utxos is defined in test_framework.blocktools
  • disconnect_nodes takes a node as 2nd parameter, not a node index

Includes a bugfix from bd093ca15:

  • add missing parentheses after node.disconnect_p2ps

This is a backport of Core PR18807 [6/7]
https://github.com/bitcoin/bitcoin/pull/18038/commits/297a1785360c4db662a7f3d3ade7b6b503258d39
Depends on D9010

Test Plan: tests/functional/test_runner.py mempool_unbroadcast

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9011

Details

Provenance
Amiti Uttarwar <amiti@uttarwar.org>Authored on Jan 21 2021, 17:58
PiRKCommitted on Jan 21 2021, 17:58
abc-botPushed on Jan 21 2021, 18:05
Reviewer
Restricted Project
Differential Revision
D9011: [test] Integration tests for unbroadcast functionality
Parents
rABC1167285f9107: [refactor/test] Extract P2PTxInvStore into test framework
Branches
Unknown
Tags
Unknown