From 0b76f1495a34833e282ddefd8d8d913fe8103d66 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sat, 1 Sep 2018 09:30:35 +0200 Subject: [PATCH] Merge #14122: Test rpc_help.py failed: Check whether ZMQ is enabled or not. 8dfc2f30dea6bde0f74d23691377f248966011ab 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 --- test/functional/rpc_help.py | 10 ++++++++-- test/functional/test_framework/test_framework.py | 9 +++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/test/functional/rpc_help.py b/test/functional/rpc_help.py index b122abc2cf..717709dd0b 100755 --- a/test/functional/rpc_help.py +++ b/test/functional/rpc_help.py @@ -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, ['Addressindex', 'Blockchain', 'Control', 'Dash', 'Evo', 'Generating', 'Mining', 'Network', 'Rawtransactions', 'Util', 'Wallet', 'Zmq']) + + components = ['Addressindex', 'Blockchain', 'Control', 'Dash', 'Evo', 'Generating', 'Mining', 'Network', 'Rawtransactions', 'Util', 'Wallet'] + + if is_zmq_enabled(self): + components.append('Zmq') + + assert_equal(titles, components) if __name__ == '__main__': HelpRpcTest().main() diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index bbad8b468e..9c01f2f1f1 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -1185,8 +1185,13 @@ def skip_if_no_py3_zmq(): def skip_if_no_bitcoind_zmq(test_instance): """Skip the running test if dashd has not been compiled with zmq support.""" + if not is_zmq_enabled(test_instance): + raise SkipTest("dashd 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("dashd has not been built with zmq enabled.") + return config["components"].getboolean("ENABLE_ZMQ")