diff options
author | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2020-03-31 00:10:32 +0200 |
---|---|---|
committer | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2020-03-31 11:14:48 +0200 |
commit | 00559229588feb19de2a0cb7506f70c483a1f433 (patch) | |
tree | 69b066f16f4ac7b312c123c91ae2613d987d722e | |
parent | 7e1fc03b185d89f21da1bee2f8b7900d65745b30 (diff) |
test: add BIP37 'filterclear' test to p2p_filter.py
-rwxr-xr-x | test/functional/p2p_filter.py | 8 | ||||
-rwxr-xr-x | test/functional/test_framework/messages.py | 17 | ||||
-rwxr-xr-x | test/functional/test_framework/mininode.py | 3 |
3 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/p2p_filter.py b/test/functional/p2p_filter.py index a22ee91483..ad7a9dcf6e 100755 --- a/test/functional/p2p_filter.py +++ b/test/functional/p2p_filter.py @@ -11,6 +11,7 @@ from test_framework.messages import ( MSG_FILTERED_BLOCK, msg_getdata, msg_filterload, + msg_filterclear, ) from test_framework.mininode import ( P2PInterface, @@ -97,6 +98,13 @@ class FilterTest(BitcoinTestFramework): filter_node.wait_for_tx(txid) assert not filter_node.merkleblock_received + self.log.info('Check that after deleting filter all txs get relayed again') + filter_node.send_message(msg_filterclear()) + filter_node.sync_with_ping() + for _ in range(5): + txid = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 7) + filter_node.wait_for_tx(txid) + if __name__ == '__main__': FilterTest().main() diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py index 9e87ad62a1..ff0c763b72 100755 --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -1356,6 +1356,23 @@ class msg_filterload: self.data, self.nHashFuncs, self.nTweak, self.nFlags) +class msg_filterclear: + __slots__ = () + command = b"filterclear" + + def __init__(self): + pass + + def deserialize(self, f): + pass + + def serialize(self): + return b"" + + def __repr__(self): + return "msg_filterclear()" + + class msg_feefilter: __slots__ = ("feerate",) command = b"feefilter" diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py index b760e7e1f3..ce51513ce9 100755 --- a/test/functional/test_framework/mininode.py +++ b/test/functional/test_framework/mininode.py @@ -30,6 +30,7 @@ from test_framework.messages import ( msg_blocktxn, msg_cmpctblock, msg_feefilter, + msg_filterclear, msg_filterload, msg_getaddr, msg_getblocks, @@ -64,6 +65,7 @@ MESSAGEMAP = { b"blocktxn": msg_blocktxn, b"cmpctblock": msg_cmpctblock, b"feefilter": msg_feefilter, + b"filterclear": msg_filterclear, b"filterload": msg_filterload, b"getaddr": msg_getaddr, b"getblocks": msg_getblocks, @@ -322,6 +324,7 @@ class P2PInterface(P2PConnection): def on_blocktxn(self, message): pass def on_cmpctblock(self, message): pass def on_feefilter(self, message): pass + def on_filterclear(self, message): pass def on_filterload(self, message): pass def on_getaddr(self, message): pass def on_getblocks(self, message): pass |