pylint
pylint copied to clipboard
pylint 3.1.0 test failure with pytest 8.1.1
Bug description
Failure in test suite with astroid 3.1.0,
pipeline output here: https://gitlab.alpinelinux.org/alpine/aports/-/jobs/1329826
Configuration
No response
Command used
.testenv/bin/python3 -m pytest --benchmark-disable tests
Pylint output
============================= test session starts ==============================
platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /builds/alpine/aports/community/py3-pylint/src/pylint-3.1.0
configfile: pyproject.toml
plugins: xdist-3.5.0, cov-4.1.0, benchmark-4.0.0, timeout-2.3.1
collected 2158 items
tests/benchmark/test_baseline_benchmarks.py .ss.s.s.s.. [ 0%]
tests/checkers/base/unittest_base.py s [ 0%]
tests/checkers/base/unittest_multi_naming_style.py .... [ 0%]
tests/checkers/base/unittest_name_preset.py .... [ 0%]
tests/checkers/unittest_base_checker.py .... [ 1%]
tests/checkers/unittest_deprecated.py .......................... [ 2%]
tests/checkers/unittest_design.py ... [ 2%]
tests/checkers/unittest_format.py ......... [ 2%]
tests/checkers/unittest_imports.py .EEE..EE [ 3%]
tests/checkers/unittest_misc.py ........... [ 3%]
tests/checkers/unittest_non_ascii_name.py ..........................x [ 5%]
tests/checkers/unittest_refactoring.py .. [ 5%]
tests/checkers/unittest_similar.py .................. [ 5%]
tests/checkers/unittest_spelling.py .sssssssssssssssssssssssssssssssssss [ 7%]
sssssss [ 7%]
tests/checkers/unittest_stdlib.py . [ 7%]
tests/checkers/unittest_strings.py . [ 8%]
tests/checkers/unittest_typecheck.py ... [ 8%]
tests/checkers/unittest_unicode/unittest_bad_chars.py .................. [ 8%]
.................................. [ 10%]
tests/checkers/unittest_unicode/unittest_bidirectional_unicode.py ...... [ 10%]
............................................. [ 12%]
tests/checkers/unittest_unicode/unittest_functions.py .................. [ 13%]
........................................................................ [ 17%]
.. [ 17%]
tests/checkers/unittest_unicode/unittest_invalid_encoding.py xx........x [ 17%]
........... [ 18%]
tests/checkers/unittest_utils.py ....................................... [ 20%]
[ 20%]
tests/checkers/unittest_variables.py .........E [ 20%]
tests/config/pylint_config/test_pylint_config_generate.py .... [ 20%]
tests/config/pylint_config/test_pylint_config_help.py . [ 20%]
tests/config/pylint_config/test_pylint_config_utils.py . [ 20%]
tests/config/pylint_config/test_run_pylint_config.py . [ 20%]
tests/config/test_argparse_config.py ...... [ 21%]
tests/config/test_config.py .................... [ 22%]
tests/config/test_find_default_config_files.py ................. [ 22%]
tests/config/test_functional_config_loading.py ......................... [ 23%]
.... [ 24%]
tests/config/test_per_directory_config.py . [ 24%]
tests/extensions/test_check_docs_utils.py ............... [ 24%]
tests/extensions/test_private_import.py ..... [ 25%]
tests/functional/r/redundant_unittest_assert.py ss [ 25%]
tests/lint/test_caching.py .....ss.... [ 25%]
tests/lint/test_pylinter.py .. [ 25%]
tests/lint/test_run_pylint.py .. [ 25%]
tests/lint/test_utils.py ... [ 26%]
tests/lint/unittest_expand_modules.py ......... [ 26%]
tests/lint/unittest_lint.py ............................................ [ 28%]
sss.................. [ 29%]
tests/message/test_no_removed_msgid_or_symbol_used.py . [ 29%]
tests/message/unittest_message.py . [ 29%]
tests/message/unittest_message_definition.py ....... [ 29%]
tests/message/unittest_message_definition_store.py ................. [ 30%]
tests/message/unittest_message_id_store.py ........ [ 31%]
tests/primer/test_primer_stdlib.py sssssssssssssssssssssssssssssssssssss [ 32%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 36%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 39%]
sssssssssssssssss [ 40%]
tests/profile/test_profile_against_externals.py s [ 40%]
tests/pyreverse/test_diadefs.py ........... [ 40%]
tests/pyreverse/test_diagrams.py . [ 40%]
tests/pyreverse/test_inspector.py .... [ 41%]
tests/pyreverse/test_main.py ........................ [ 42%]
tests/pyreverse/test_printer.py .......... [ 42%]
tests/pyreverse/test_printer_factory.py .... [ 42%]
tests/pyreverse/test_pyreverse_functional.py ............. [ 43%]
tests/pyreverse/test_utils.py ...................... [ 44%]
tests/pyreverse/test_writer.py .................. [ 45%]
tests/reporters/unittest_json_reporter.py ....... [ 45%]
tests/reporters/unittest_reporting.py .......... [ 46%]
tests/test_check_parallel.py ...s......sssssssssssssssssssssssssss.sss [ 47%]
tests/test_func.py ............ [ 48%]
tests/test_functional.py .......................s....................... [ 50%]
........................................................................ [ 53%]
ss..s.ss....ss.......................................................... [ 57%]
........................................................................ [ 60%]
...sss.s...................s...........ssF.........................FF.s. [ 63%]
........................................................................ [ 67%]
.................................................................s..s... [ 70%]
.............................ss.......................F................. [ 74%]
........s.F....................................................s........ [ 77%]
...........s.........s.......s...ss.............................s......s [ 80%]
.......s..sF...s..............s.F........ss............sss.........F.... [ 84%]
...............................F..........s..................s.......... [ 87%]
.............. [ 87%]
tests/test_functional_directories.py . [ 88%]
tests/test_import_graph.py ...... [ 88%]
tests/test_numversion.py ........... [ 88%]
tests/test_pragma_parser.py ............. [ 89%]
tests/test_pylint_runners.py ........ [ 89%]
tests/test_regr.py .F................ [ 90%]
tests/test_self.py ............x........................................ [ 93%]
..................s..................................................... [ 96%]
................. [ 97%]
tests/test_similar.py .s............ [ 97%]
tests/testutils/_primer/test_package_to_lint.py .. [ 97%]
tests/testutils/_primer/test_primer.py ....... [ 98%]
tests/testutils/test_configuration_test.py . [ 98%]
tests/testutils/test_functional_testutils.py ..... [ 98%]
tests/testutils/test_lint_module_output_update.py ........... [ 99%]
tests/testutils/test_output_line.py ..... [ 99%]
tests/testutils/test_pyreverse_testutils.py ... [ 99%]
tests/testutils/test_testutils_utils.py ........ [ 99%]
tests/utils/unittest_ast_walker.py .. [ 99%]
tests/utils/unittest_utils.py .. [100%]
==================================== ERRORS ====================================
___ ERROR at setup of TestImportsChecker.test_relative_beyond_top_level_two ____
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eafe0cea0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestImportsChecker' for <Function test_relative_beyond_top_level_two>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
__ ERROR at setup of TestImportsChecker.test_relative_beyond_top_level_three ___
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eaf94bec0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestImportsChecker' for <Function test_relative_beyond_top_level_three>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
___ ERROR at setup of TestImportsChecker.test_relative_beyond_top_level_four ___
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eaf8d7d80>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestImportsChecker' for <Function test_relative_beyond_top_level_four>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
__________ ERROR at setup of TestImportsChecker.test_preferred_module __________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eafe0cea0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestImportsChecker' for <Function test_preferred_module>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
_______ ERROR at setup of TestImportsChecker.test_allow_reexport_package _______
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eaf94b7e0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestImportsChecker' for <Function test_allow_reexport_package>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
___________ ERROR at setup of TestMissingSubmodule.test_package_all ____________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f2eae1d3ec0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: Callable[[], TResult],
when: Literal["collect", "setup", "call", "teardown"],
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.11/site-packages/_pytest/runner.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/_pytest/runner.py:240: in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup
yield from unraisable_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/logging.py:843: in pytest_runtest_setup
yield from self._runtest_for(item, "setup")
/usr/lib/python3.11/site-packages/_pytest/logging.py:832: in _runtest_for
yield
/usr/lib/python3.11/site-packages/_pytest/capture.py:878: in pytest_runtest_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup
yield from thread_exception_runtest_hook()
/usr/lib/python3.11/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook
yield
/usr/lib/python3.11/site-packages/_pytest/runner.py:158: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.11/site-packages/_pytest/runner.py:515: in setup
raise exc
/usr/lib/python3.11/site-packages/_pytest/runner.py:512: in setup
col.setup()
/usr/lib/python3.11/site-packages/_pytest/python.py:1775: in setup
self._request._fillfixtures()
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:687: in _fillfixtures
item.funcargs[argname] = self.getfixturevalue(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:541: in getfixturevalue
fixturedef = self._get_active_fixturedef(argname)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:570: in _get_active_fixturedef
self._compute_fixture_value(fixturedef)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:647: in _compute_fixture_value
fixturedef.execute(request=subrequest)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1079: in execute
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
/usr/lib/python3.11/site-packages/pluggy/_hooks.py:501: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
/usr/lib/python3.11/site-packages/pluggy/_manager.py:119: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.11/site-packages/_pytest/setuponly.py:36: in pytest_fixture_setup
return (yield)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:1132: in pytest_fixture_setup
result = call_fixture_func(fixturefunc, request, kwargs)
/usr/lib/python3.11/site-packages/_pytest/fixtures.py:906: in call_fixture_func
fixture_result = next(generator)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
request = <SubRequest '_xunit_setup_method_fixture_TestMissingSubmodule' for <Function test_package_all>>
def xunit_setup_method_fixture(request) -> Generator[None, None, None]:
instance = request.instance
method = request.function
if setup_method is not None:
> func = getattr(instance, setup_name)
E AttributeError: 'NoneType' object has no attribute 'setup_method'
/usr/lib/python3.11/site-packages/_pytest/python.py:847: AttributeError
=================================== FAILURES ===================================
____________________ test_functional[inconsistent_returns] _____________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9d400b50>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "inconsistent_returns.py":
E
E Unexpected in testdata:
E 111: inconsistent-return-statements
pylint/testutils/lint_module_test.py:147: AssertionError
_________________ test_functional[invalid_all_format_valid_5] __________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9c3c84d0>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "invalid_all_format_valid_5.py":
E
E Unexpected in testdata:
E 5: no-name-in-module
pylint/testutils/lint_module_test.py:147: AssertionError
_________________ test_functional[invalid_all_format_valid_6] __________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9c54c4d0>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "invalid_all_format_valid_6.py":
E
E Unexpected in testdata:
E 5: no-name-in-module
pylint/testutils/lint_module_test.py:147: AssertionError
____________________ test_functional[recursion_error_3159] _____________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9768b550>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "recursion_error_3159.py":
E
E Unexpected in testdata:
E 17: arguments-differ
pylint/testutils/lint_module_test.py:147: AssertionError
_______________________ test_functional[regression_4680] _______________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9643d350>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "regression_4680.py":
E
E Unexpected in testdata:
E 3: no-name-in-module
E 18: c-extension-no-member
pylint/testutils/lint_module_test.py:147: AssertionError
_________________________ test_functional[unreachable] _________________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e932e03d0>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "unreachable.py":
E
E Expected in testdata:
E 42: unreachable
E 80: unreachable
pylint/testutils/lint_module_test.py:147: AssertionError
__________________ test_functional[undefined_variable_typing] __________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e921e69d0>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "undefined_variable_typing.py":
E
E Unexpected in testdata:
E 10: no-name-in-module
pylint/testutils/lint_module_test.py:147: AssertionError
__________________ test_functional[unused_import_assigned_to] __________________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e90e07550>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "unused_import_assigned_to.py":
E
E Unexpected in testdata:
E 25: c-extension-no-member
pylint/testutils/lint_module_test.py:147: AssertionError
_____________ test_functional[used_before_assignment_else_return] ______________
self = <pylint.testutils.lint_module_test.LintModuleTest object at 0x7f2e9a2d5310>
def runTest(self) -> None:
> self._runTest()
E AssertionError: Wrong message(s) raised for "used_before_assignment_else_return.py":
E
E Unexpected in testdata:
E 71: used-before-assignment
pylint/testutils/lint_module_test.py:147: AssertionError
______________________ test_package[file_names1-<lambda>] ______________________
finalize_linter = Checker 'main' (responsible for 'F0001', 'F0002', 'F0010', 'F0011', 'I0001', 'I0010', 'I0011', 'I0013', 'I0020', 'I0021', 'I0022', 'E0001', 'E0011', 'W0012', 'R0022', 'E0013', 'E0014', 'E0015')
file_names = ['precedence_test']
check = <function Equals.<locals>.<lambda> at 0x7f2eb04967a0>
@pytest.mark.parametrize(
"file_names, check",
[
(["package.__init__"], Equals("")),
(["precedence_test"], Equals("")),
(["import_package_subpackage_module"], Equals("")),
(["pylint.checkers.__init__"], lambda x: "__path__" not in x),
([join(REGR_DATA, "classdoc_usage.py")], Equals("")),
([join(REGR_DATA, "module_global.py")], Equals("")),
([join(REGR_DATA, "decimal_inference.py")], Equals("")),
([join(REGR_DATA, "absimp", "string.py")], Equals("")),
([join(REGR_DATA, "bad_package")], lambda x: "Unused import missing" in x),
],
)
def test_package(
finalize_linter: PyLinter, file_names: list[str], check: Callable[[str], bool]
) -> None:
finalize_linter.check(file_names)
finalize_linter.reporter = cast( # Due to fixture
testutils.GenericTestReporter, finalize_linter.reporter
)
got = finalize_linter.reporter.finalize().strip()
> assert check(got)
E assert False
E + where False = <function Equals.<locals>.<lambda> at 0x7f2eb04967a0>("E: 21: Module 'package.AudioTime' has no 'DECIMAL' member")
tests/test_regr.py:77: AssertionError
=========================== short test summary info ============================
FAILED tests/test_functional.py::test_functional[inconsistent_returns] - AssertionError: Wrong message(s) raised for "inconsistent_returns.py":
Unexpected in testdata:
111: inconsistent-return-statements
FAILED tests/test_functional.py::test_functional[invalid_all_format_valid_5] - AssertionError: Wrong message(s) raised for "invalid_all_format_valid_5.py":
Unexpected in testdata:
5: no-name-in-module
FAILED tests/test_functional.py::test_functional[invalid_all_format_valid_6] - AssertionError: Wrong message(s) raised for "invalid_all_format_valid_6.py":
Unexpected in testdata:
5: no-name-in-module
FAILED tests/test_functional.py::test_functional[recursion_error_3159] - AssertionError: Wrong message(s) raised for "recursion_error_3159.py":
Unexpected in testdata:
17: arguments-differ
FAILED tests/test_functional.py::test_functional[regression_4680] - AssertionError: Wrong message(s) raised for "regression_4680.py":
Unexpected in testdata:
3: no-name-in-module
18: c-extension-no-member
FAILED tests/test_functional.py::test_functional[unreachable] - AssertionError: Wrong message(s) raised for "unreachable.py":
Expected in testdata:
42: unreachable
80: unreachable
FAILED tests/test_functional.py::test_functional[undefined_variable_typing] - AssertionError: Wrong message(s) raised for "undefined_variable_typing.py":
Unexpected in testdata:
10: no-name-in-module
FAILED tests/test_functional.py::test_functional[unused_import_assigned_to] - AssertionError: Wrong message(s) raised for "unused_import_assigned_to.py":
Unexpected in testdata:
25: c-extension-no-member
FAILED tests/test_functional.py::test_functional[used_before_assignment_else_return] - AssertionError: Wrong message(s) raised for "used_before_assignment_else_return.py":
Unexpected in testdata:
71: used-before-assignment
FAILED tests/test_regr.py::test_package[file_names1-<lambda>] - assert False
+ where False = <function Equals.<locals>.<lambda> at 0x7f2eb04967a0>("E: 21: Module 'package.AudioTime' has no 'DECIMAL' member")
ERROR tests/checkers/unittest_imports.py::TestImportsChecker::test_relative_beyond_top_level_two - AttributeError: 'NoneType' object has no attribute 'setup_method'
ERROR tests/checkers/unittest_imports.py::TestImportsChecker::test_relative_beyond_top_level_three - AttributeError: 'NoneType' object has no attribute 'setup_method'
ERROR tests/checkers/unittest_imports.py::TestImportsChecker::test_relative_beyond_top_level_four - AttributeError: 'NoneType' object has no attribute 'setup_method'
ERROR tests/checkers/unittest_imports.py::TestImportsChecker::test_preferred_module - AttributeError: 'NoneType' object has no attribute 'setup_method'
ERROR tests/checkers/unittest_imports.py::TestImportsChecker::test_allow_reexport_package - AttributeError: 'NoneType' object has no attribute 'setup_method'
ERROR tests/checkers/unittest_variables.py::TestMissingSubmodule::test_package_all - AttributeError: 'NoneType' object has no attribute 'setup_method'
= 10 failed, 1810 passed, 327 skipped, 5 xfailed, 6 errors in 98.19s (0:01:38) =
>>> ERROR: py3-pylint: check failed
Expected behavior
Test suite passes
Pylint version
pylint 3.1.0
pytest 8.1.1
astroid 3.1.0
python 3.11.8
OS / Environment
Alpine Linux Edge
Additional dependencies
No response
Hello!
In Debian, pylint fails as well with pytest 8.1.1 and python 3.11 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066755
Regards
Will be closed in #9483
I suspect this is basically a duplicate of #9477.
Yes, I closed https://github.com/pylint-dev/pylint/issues/9477 as a duplicate of this one :)