Skip to content

Commit

Permalink
test: Add tests for directories in place of config files
Browse files Browse the repository at this point in the history
  • Loading branch information
hodlinator committed Dec 3, 2024
1 parent e85abe9 commit 95a0104
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions test/functional/feature_config_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,29 @@ def setup_nodes(self):
self.nodes[0].debug_log_path.parent.mkdir()
self.nodes[0].debug_log_path.touch()

def test_dir_config(self):
self.log.info('Error should be emitted if config file is a directory')
conf_path = self.nodes[0].datadir_path / 'bitcoin.conf'
os.rename(conf_path, conf_path.with_suffix('.confbkp'))
conf_path.mkdir()
self.stop_node(0)
self.nodes[0].assert_start_raises_init_error(
extra_args=['-regtest'],
expected_msg=f'Error: Error reading configuration file: Config file "{conf_path}" is a directory.',
)
conf_path.rmdir()
os.rename(conf_path.with_suffix('.confbkp'), conf_path)

self.log.debug('Verifying includeconf directive pointing to directory is caught')
with open(conf_path, 'a', encoding='utf-8') as conf:
conf.write(f'includeconf={self.nodes[0].datadir_path}\n')
self.nodes[0].assert_start_raises_init_error(
extra_args=['-regtest'],
expected_msg=f'Error: Error reading configuration file: Included config file "{self.nodes[0].datadir_path}" is a directory.',
)

self.nodes[0].replace_in_config([(f'includeconf={self.nodes[0].datadir_path}', '')])

def test_negated_config(self):
self.log.info('Disabling configuration via -noconf')

Expand Down Expand Up @@ -467,6 +490,7 @@ def run_test(self):
self.test_networkactive()
self.test_connect_with_seednode()

self.test_dir_config()
self.test_negated_config()
self.test_config_file_parser()
self.test_config_file_log()
Expand Down

0 comments on commit 95a0104

Please sign in to comment.