diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9a8a277..803b3ae 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -35,6 +35,8 @@ Fixed crashes (by DarkDefender) * Fixed a crash when pressing the crop shortcut while dragging an image (by DarkDefender) +* Fix commandline arguments meant for pytest being parsed by BeeRef + (by DarkDefender) Changed diff --git a/beeref/config/settings.py b/beeref/config/settings.py index 5f7357f..92d50be 100644 --- a/beeref/config/settings.py +++ b/beeref/config/settings.py @@ -89,7 +89,9 @@ class CommandlineArgs: if with_check: self._args = parser.parse_args() else: - self._args = parser.parse_known_args()[0] + # Do not parse any flags from sys.argv as we are + # being used as a module. + self._args = parser.parse_args([]) def __getattribute__(self, name): if name == '_args': diff --git a/tests/config/test_settings.py b/tests/config/test_settings.py index eede452..54046b7 100644 --- a/tests/config/test_settings.py +++ b/tests/config/test_settings.py @@ -20,8 +20,10 @@ def test_command_line_args_singleton(): def test_command_line_args_with_check_forces_new_parsing(parse_mock): args1 = CommandlineArgs() args2 = CommandlineArgs(with_check=True) - parse_mock.assert_called_once() + args3 = CommandlineArgs() + assert parse_mock.call_count == 2 assert args1 is not args2 + assert args2 is args3 CommandlineArgs._instance = None