Merge #10659: [qa] blockchain: Pass on closed connection during generate call

fab1fb7 [qa] blockchain: Pass on closed connection during generate call (MarcoFalke)

Tree-SHA512: 754be08675c3aca6f8003dc4bc68336e3693609ec14afc91cec592603aabe515f82534ef7b3db469792458ae4c70d5eae0ea0e8abd0ea338e22351aa01173046
This commit is contained in:
Wladimir J. van der Laan 2019-07-11 16:22:52 -05:00 committed by Pasta
parent e19fc0b9b2
commit 4c61aedfc3
No known key found for this signature in database
GPG Key ID: D362C9F7142766AE

View File

@ -18,6 +18,7 @@ Tests correspond to code in rpc/blockchain.cpp.
""" """
from decimal import Decimal from decimal import Decimal
import http.client
import subprocess import subprocess
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
@ -28,6 +29,7 @@ from test_framework.util import (
assert_is_hex_string, assert_is_hex_string,
assert_is_hash_string, assert_is_hash_string,
bitcoind_processes, bitcoind_processes,
BITCOIND_PROC_WAIT_TIMEOUT,
) )
@ -139,9 +141,12 @@ class BlockchainTest(BitcoinTestFramework):
assert_equal(self.nodes[0].getblockcount(), 206) assert_equal(self.nodes[0].getblockcount(), 206)
self.log.debug('Node should not stop at this height') self.log.debug('Node should not stop at this height')
assert_raises(subprocess.TimeoutExpired, lambda: bitcoind_processes[0].wait(timeout=3)) assert_raises(subprocess.TimeoutExpired, lambda: bitcoind_processes[0].wait(timeout=3))
self.nodes[0].generate(1) try:
self.nodes[0].generate(1)
except (ConnectionError, http.client.BadStatusLine):
pass # The node already shut down before response
self.log.debug('Node should stop at this height...') self.log.debug('Node should stop at this height...')
bitcoind_processes[0].wait(timeout=3) bitcoind_processes[0].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
self.nodes[0] = self.start_node(0, self.options.tmpdir) self.nodes[0] = self.start_node(0, self.options.tmpdir)
assert_equal(self.nodes[0].getblockcount(), 207) assert_equal(self.nodes[0].getblockcount(), 207)