mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 12:32:48 +01:00
[tests] fix disconnect_ban intermittency
This commit is contained in:
parent
7ee5236048
commit
3ba2c08980
@ -3,6 +3,7 @@
|
|||||||
# Distributed under the MIT software license, see the accompanying
|
# Distributed under the MIT software license, see the accompanying
|
||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
"""Test node disconnect and ban behavior"""
|
"""Test node disconnect and ban behavior"""
|
||||||
|
import time
|
||||||
|
|
||||||
from test_framework.mininode import wait_until
|
from test_framework.mininode import wait_until
|
||||||
from test_framework.test_framework import BitcoinTestFramework
|
from test_framework.test_framework import BitcoinTestFramework
|
||||||
@ -56,11 +57,16 @@ class DisconnectBanTest(BitcoinTestFramework):
|
|||||||
self.log.info("setban: test persistence across node restart")
|
self.log.info("setban: test persistence across node restart")
|
||||||
self.nodes[1].setban("127.0.0.0/32", "add")
|
self.nodes[1].setban("127.0.0.0/32", "add")
|
||||||
self.nodes[1].setban("127.0.0.0/24", "add")
|
self.nodes[1].setban("127.0.0.0/24", "add")
|
||||||
|
# Set the mocktime so we can control when bans expire
|
||||||
|
old_time = int(time.time())
|
||||||
|
self.nodes[1].setmocktime(old_time)
|
||||||
self.nodes[1].setban("192.168.0.1", "add", 1) # ban for 1 seconds
|
self.nodes[1].setban("192.168.0.1", "add", 1) # ban for 1 seconds
|
||||||
self.nodes[1].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) # ban for 1000 seconds
|
self.nodes[1].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) # ban for 1000 seconds
|
||||||
listBeforeShutdown = self.nodes[1].listbanned()
|
listBeforeShutdown = self.nodes[1].listbanned()
|
||||||
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address'])
|
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address'])
|
||||||
assert wait_until(lambda: len(self.nodes[1].listbanned()) == 3, timeout=10)
|
# Move time forward by 3 seconds so the third ban has expired
|
||||||
|
self.nodes[1].setmocktime(old_time + 3)
|
||||||
|
assert_equal(len(self.nodes[1].listbanned()), 3)
|
||||||
|
|
||||||
stop_node(self.nodes[1], 1)
|
stop_node(self.nodes[1], 1)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user