diff --git a/qutebrowser/config/configcommands.py b/qutebrowser/config/configcommands.py index 340175f23..f659b14d7 100644 --- a/qutebrowser/config/configcommands.py +++ b/qutebrowser/config/configcommands.py @@ -269,6 +269,8 @@ class ConfigCommands: if filename is None: filename = os.path.join(standarddir.config(), 'config.py') else: + if not os.path.isabs(filename): + filename = os.path.join(standarddir.config(), filename) filename = os.path.expanduser(filename) if os.path.exists(filename) and not force: diff --git a/tests/unit/config/test_configcommands.py b/tests/unit/config/test_configcommands.py index 0fd1b6680..40a69668a 100644 --- a/tests/unit/config/test_configcommands.py +++ b/tests/unit/config/test_configcommands.py @@ -388,6 +388,12 @@ class TestWritePy: lines = confpy.read_text('utf-8').splitlines() assert '# Autogenerated config.py' in lines + def test_relative_path(self, commands, config_tmpdir): + confpy = config_tmpdir / 'config2.py' + commands.config_write_py('config2.py') + lines = confpy.read_text('utf-8').splitlines() + assert '# Autogenerated config.py' in lines + def test_existing_file(self, commands, tmpdir): confpy = tmpdir / 'config.py' confpy.ensure()