Changeset View
Changeset View
Standalone View
Standalone View
test/functional/feature_config_args.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (c) 2017-2019 The Bitcoin Core developers | # Copyright (c) 2017-2019 The Bitcoin Core developers | ||||
# 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 various command line arguments and configuration file parameters.""" | """Test various command line arguments and configuration file parameters.""" | ||||
import os | import os | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
class ConfArgsTest(BitcoinTestFramework): | class ConfArgsTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.num_nodes = 1 | self.num_nodes = 1 | ||||
def test_config_file_parser(self): | |||||
# Assume node is stopped | |||||
inc_conf_file_path = os.path.join( | |||||
self.nodes[0].datadir, 'include.conf') | |||||
with open(os.path.join(self.nodes[0].datadir, 'bitcoin.conf'), 'a', encoding='utf-8') as conf: | |||||
conf.write('includeconf={}\n'.format(inc_conf_file_path)) | |||||
with open(inc_conf_file_path, 'w', encoding='utf-8') as conf: | |||||
conf.write('-dash=1\n') | |||||
self.nodes[0].assert_start_raises_init_error( | |||||
expected_msg='Error reading configuration file: parse error on line 1: -dash=1, options in configuration file must be specified without leading -') | |||||
with open(inc_conf_file_path, 'w', encoding='utf-8') as conf: | |||||
conf.write('nono\n') | |||||
self.nodes[0].assert_start_raises_init_error( | |||||
expected_msg='Error reading configuration file: parse error on line 1: nono, if you intended to specify a negated option, use nono=1 instead') | |||||
with open(inc_conf_file_path, 'w', encoding='utf-8') as conf: | |||||
conf.write('') # clear | |||||
def run_test(self): | def run_test(self): | ||||
self.stop_node(0) | self.stop_node(0) | ||||
self.test_config_file_parser() | |||||
# Remove the -datadir argument so it doesn't override the config file | # Remove the -datadir argument so it doesn't override the config file | ||||
self.nodes[0].remove_default_args(["-datadir"]) | self.nodes[0].remove_default_args(["-datadir"]) | ||||
default_data_dir = self.nodes[0].datadir | default_data_dir = self.nodes[0].datadir | ||||
new_data_dir = os.path.join(default_data_dir, 'newdatadir') | new_data_dir = os.path.join(default_data_dir, 'newdatadir') | ||||
new_data_dir_2 = os.path.join(default_data_dir, 'newdatadir2') | new_data_dir_2 = os.path.join(default_data_dir, 'newdatadir2') | ||||
# Check that using -datadir argument on non-existent directory fails | # Check that using -datadir argument on non-existent directory fails | ||||
Show All 34 Lines |