Merge #14122: Test rpc_help.py failed: Check whether ZMQ is enabled or not.

8dfc2f30de Test rpc_help.py failed: Check whether ZMQ is enabled or not. (Kvaciral)

Pull request description:

  /test/functional/rpc_help.py checks for the zmq-category even while zmq may be disabled (in /test/config.ini) , I have added a check function to test_framework.py that can be used whether to determine to include zmq in a test or not.

Tree-SHA512: 6819050277e2dc875f8d9bf49a02291555cb7b301379dfb9d898e6d8e14bfb8eeb6bef8af46d07b5db45b2fe281b35ea7f98af9ffba703768658a69addbc81b1
This commit is contained in:
Wladimir J. van der Laan 2018-09-01 09:30:35 +02:00
commit 2070a545e2
No known key found for this signature in database
GPG Key ID: 1E4AED62986CD25D
2 changed files with 15 additions and 4 deletions

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test RPC help output."""
from test_framework.test_framework import BitcoinTestFramework
from test_framework.test_framework import BitcoinTestFramework, is_zmq_enabled
from test_framework.util import assert_equal, assert_raises_rpc_error
class HelpRpcTest(BitcoinTestFramework):
@ -25,7 +25,13 @@ class HelpRpcTest(BitcoinTestFramework):
# command titles
titles = [line[3:-3] for line in node.help().splitlines() if line.startswith('==')]
assert_equal(titles, ['Blockchain', 'Control', 'Generating', 'Mining', 'Network', 'Rawtransactions', 'Util', 'Wallet', 'Zmq'])
components = ['Blockchain', 'Control', 'Generating', 'Mining', 'Network', 'Rawtransactions', 'Util', 'Wallet']
if is_zmq_enabled(self):
components.append('Zmq')
assert_equal(titles, components)
if __name__ == '__main__':
HelpRpcTest().main()

View File

@ -488,8 +488,13 @@ def skip_if_no_py3_zmq():
def skip_if_no_bitcoind_zmq(test_instance):
"""Skip the running test if bitcoind has not been compiled with zmq support."""
if not is_zmq_enabled(test_instance):
raise SkipTest("bitcoind has not been built with zmq enabled.")
def is_zmq_enabled(test_instance):
"""Checks whether zmq is enabled or not."""
config = configparser.ConfigParser()
config.read_file(open(test_instance.options.configfile))
if not config["components"].getboolean("ENABLE_ZMQ"):
raise SkipTest("bitcoind has not been built with zmq enabled.")
return config["components"].getboolean("ENABLE_ZMQ")