Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1.2k
Open
Labels
Description
I noticed that some tests in test_self.py fail to validate the behavior they are meant to verify due to the way withpytest.raises(SystemExit):
is being used blocking the asserts from ever being run.
For example in tests/test_self.py::TestCallbackOptions::test_errors_only you can change
def test_errors_only() -> None: """Test the --errors-only flag.""" with pytest.raises(SystemExit): run = Run(["--errors-only"]) assert run.linter._error_mode
to
def test_errors_only() -> None: """Test the --errors-only flag.""" with pytest.raises(SystemExit): run = Run(["--an-invalid-option"]) assert run.linter._error_mode
and it still passes perfectly happily but when you look at the output there were errors
$ pytest tests/test_self.py::TestCallbackOptions::test_errors_only -s============================================================= test session starts =============================================================platform win32 -- Python 3.12.3, pytest-8.3.5, pluggy-1.5.0rootdir: D:\Repos\pylintconfigfile: pyproject.tomlplugins: anyio-4.9.0, langsmith-0.4.1collected 1 item tests\test_self.py usage: pylint [options]pylint: error: Unrecognized option found: an-invalid-option.============================================================== 1 passed in 0.12s ==============================================================
You can even just change the assert line toassert False
and it will still pass every time.
This affects multiple tests in test_self.py I confirmed this behavior in test_errorrs_only and test_verbose.