diff options
author | MarcoFalke <falke.marco@gmail.com> | 2017-05-15 22:49:25 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2017-05-15 22:49:55 +0200 |
commit | 8bd16ee12fc8ef6723e0572c29b979c15b92b4f4 (patch) | |
tree | b0c82c33932730b7a9bfdb128f252008cf0d9310 /test | |
parent | 96c850c20913b191cff9f66fedbb68812b1a41ea (diff) | |
parent | 3ba2c08980dddb3c109a144a818f23a9188426c3 (diff) |
Merge #10376: [tests] fix disconnect_ban intermittency
3ba2c08 [tests] fix disconnect_ban intermittency (John Newbery)
Tree-SHA512: f4e1a88b4126ad5e1aa861a99f9b2589194a25610b5e18bcc196e7dccfa02491f0b9549fbb9f9a73776ed5ee2f6b8ade264b92ac378a25c1a92df4b0272487a7
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/disconnect_ban.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/test/functional/disconnect_ban.py b/test/functional/disconnect_ban.py index 50d79db903..f453fc0261 100755 --- a/test/functional/disconnect_ban.py +++ b/test/functional/disconnect_ban.py @@ -3,6 +3,7 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test node disconnect and ban behavior""" +import time from test_framework.mininode import wait_until from test_framework.test_framework import BitcoinTestFramework @@ -56,11 +57,16 @@ class DisconnectBanTest(BitcoinTestFramework): 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/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("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) # ban for 1000 seconds listBeforeShutdown = self.nodes[1].listbanned() 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) |