[Python-modules-team] Bug#977082: pytest-xdist FTBFS with pytest 6

Christian Kastner ckk at debian.org
Thu Dec 10 20:08:39 GMT 2020


Source: pytest-xdist
Version: 1.32.0-2
Severity: important
User: pytest at packages.debian.org
Usertags: pytest-v6

Hi,

pytest-xdist FTBFS with pytest 6 in experimental. The pytest
changelog may offer clues as to why:

    https://docs.pytest.org/en/stable/changelog.html

There seems to be a larger setup issue; almost al tests fail with the
same error. I've pasted a few of the errors below.

> ___________ ERROR at setup of TestNodeManager.test_init_rsync_roots ____________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f2b969dd040>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
>>           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:141: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:435: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:432: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1576: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:683: in _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1062: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1117: in pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:924: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:388: in testdir
>     return Testdir(request, tmpdir_factory)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:586: in __init__
>     self.tmpdir = tmpdir_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:120: in mktemp
>     return py.path.local(self._tmppath_factory.mktemp(basename, numbered).resolve())
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:51: in _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:98: in getbasetemp
>     basetemp = make_numbered_dir_with_cleanup(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> root = PosixPath('/tmp/pytest-of-christian'), prefix = 'pytest-', keep = 3
> lock_timeout = 10800
> 
>     def make_numbered_dir_with_cleanup(
>         root: Path, prefix: str, keep: int, lock_timeout: float
>     ) -> Path:
>         """creates a numbered dir with a cleanup lock and removes old ones"""
>         e = None
>         for i in range(10):
>             try:
>                 p = make_numbered_dir(root, prefix)
>                 lock_path = create_cleanup_lock(p)
>                 register_cleanup_lock_removal(lock_path)
>             except Exception as exc:
>                 e = exc
>             else:
>                 consider_lock_dead_if_created_before = p.stat().st_mtime - lock_timeout
>                 # Register a cleanup for program exit
>>               atexit.register(
>                     cleanup_numbered_dir,
>                     root,
>                     prefix,
>                     keep,
>                     consider_lock_dead_if_created_before,
>                 )
> E               TypeError: list.append() takes exactly one argument (5 given)
> 
> /usr/lib/python3/dist-packages/_pytest/pathlib.py:359: TypeError
> ______________ ERROR at setup of TestNodeManager.test_rsyncignore ______________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f2b96fbf5e0>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
>>           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:141: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:435: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:432: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1576: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:683: in _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1062: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1117: in pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:924: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:388: in testdir
>     return Testdir(request, tmpdir_factory)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:586: in __init__
>     self.tmpdir = tmpdir_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:120: in mktemp
>     return py.path.local(self._tmppath_factory.mktemp(basename, numbered).resolve())
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:51: in _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:98: in getbasetemp
>     basetemp = make_numbered_dir_with_cleanup(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> root = PosixPath('/tmp/pytest-of-christian'), prefix = 'pytest-', keep = 3
> lock_timeout = 10800
> 
>     def make_numbered_dir_with_cleanup(
>         root: Path, prefix: str, keep: int, lock_timeout: float
>     ) -> Path:
>         """creates a numbered dir with a cleanup lock and removes old ones"""
>         e = None
>         for i in range(10):
>             try:
>                 p = make_numbered_dir(root, prefix)
>                 lock_path = create_cleanup_lock(p)
>                 register_cleanup_lock_removal(lock_path)
>             except Exception as exc:
>                 e = exc
>             else:
>                 consider_lock_dead_if_created_before = p.stat().st_mtime - lock_timeout
>                 # Register a cleanup for program exit
>>               atexit.register(
>                     cleanup_numbered_dir,
>                     root,
>                     prefix,
>                     keep,
>                     consider_lock_dead_if_created_before,
>                 )
> E               TypeError: list.append() takes exactly one argument (5 given)
> 
> /usr/lib/python3/dist-packages/_pytest/pathlib.py:359: TypeError
> ____________ ERROR at setup of TestNodeManager.test_optimise_popen _____________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f2b96fbf430>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
>>           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:141: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:435: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:432: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1576: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:683: in _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1062: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1117: in pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:924: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:388: in testdir
>     return Testdir(request, tmpdir_factory)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:586: in __init__
>     self.tmpdir = tmpdir_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:120: in mktemp
>     return py.path.local(self._tmppath_factory.mktemp(basename, numbered).resolve())
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:51: in _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:98: in getbasetemp
>     basetemp = make_numbered_dir_with_cleanup(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> root = PosixPath('/tmp/pytest-of-christian'), prefix = 'pytest-', keep = 3
> lock_timeout = 10800
> 
>     def make_numbered_dir_with_cleanup(
>         root: Path, prefix: str, keep: int, lock_timeout: float
>     ) -> Path:
>         """creates a numbered dir with a cleanup lock and removes old ones"""
>         e = None
>         for i in range(10):
>             try:
>                 p = make_numbered_dir(root, prefix)
>                 lock_path = create_cleanup_lock(p)
>                 register_cleanup_lock_removal(lock_path)
>             except Exception as exc:
>                 e = exc
>             else:
>                 consider_lock_dead_if_created_before = p.stat().st_mtime - lock_timeout
>                 # Register a cleanup for program exit
>>               atexit.register(
>                     cleanup_numbered_dir,
>                     root,
>                     prefix,
>                     keep,
>                     consider_lock_dead_if_created_before,
>                 )
> E               TypeError: list.append() takes exactly one argument (5 given)
> 
> /usr/lib/python3/dist-packages/_pytest/pathlib.py:359: TypeError
> =========================== short test summary info ============================
> SKIPPED [1] ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1348: no 'gspecs' option found
> XFAIL testing/acceptance_test.py::TestDistribution::test_basetemp_in_subprocesses
>   #527: Python 3.8 failure in pytest where testdir.tmpdir returns an unexpected value
> XFAIL testing/acceptance_test.py::TestDistribution::test_distribution_rsyncdirs_example
>   #527: Ignore Python 3.8 failure for the time being
> XFAIL testing/acceptance_test.py::TestDistEach::test_simple_diffoutput
>   reason: [NOTRUN] other python versions might not have py.test installed
> XFAIL testing/acceptance_test.py::test_terminate_on_hangingnode
> XFAIL testing/acceptance_test.py::test_session_hooks
>   reason: [NOTRUN] works if run outside test suite
> XFAIL testing/acceptance_test.py::TestNodeFailure::test_each_multiple
>   #20: xdist race condition on node restart
> XFAIL testing/test_dsession.py::TestDistReporter::test_rsync_printing
> XFAIL testing/test_dsession.py::test_pytest_issue419
>   duplicate test ids not supported yet
> XFAIL testing/test_looponfail.py::TestLooponFailing::test_looponfail_removed_test
>   broken by pytest 3.1+
> XFAIL testing/test_remote.py::test_remoteinitconfig
>   #59
> XFAIL testing/test_slavemanage.py::TestNodeManager::test_rsync_roots_no_roots
>   reason: [NOTRUN] 
> ERROR testing/acceptance_test.py::TestDistribution::test_n1_pass - TypeError:...
> ERROR testing/acceptance_test.py::TestDistribution::test_n1_fail - TypeError:...
> ERROR testing/acceptance_test.py::TestDistribution::test_n1_import_error - Ty...
> ERROR testing/acceptance_test.py::TestDistribution::test_n2_import_error - Ty...
> ERROR testing/acceptance_test.py::TestDistribution::test_n1_skip - TypeError:...
> ERROR testing/acceptance_test.py::TestDistribution::test_manytests_to_one_import_error
> ERROR testing/acceptance_test.py::TestDistribution::test_manytests_to_one_popen
> ERROR testing/acceptance_test.py::TestDistribution::test_n1_fail_minus_x - Ty...
> ERROR testing/acceptance_test.py::TestDistribution::test_dist_ini_specified
> ERROR testing/acceptance_test.py::TestDistribution::test_dist_tests_with_crash
> ERROR testing/acceptance_test.py::TestDistribution::test_backward_compatibility_worker_terminology
> ERROR testing/acceptance_test.py::TestDistribution::test_data_exchange - Type...
> ERROR testing/acceptance_test.py::TestDistribution::test_keyboardinterrupt_hooks_issue79
> ERROR testing/acceptance_test.py::TestDistribution::test_keyboard_interrupt_dist
> ERROR testing/acceptance_test.py::TestDistribution::test_dist_with_collectonly
> ERROR testing/acceptance_test.py::TestDistEach::test_simple - TypeError: list...
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_output_verbosity[]
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_output_verbosity[-q]
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_output_verbosity[-v]
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_pass_skip_fail
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_fail_platinfo
> ERROR testing/acceptance_test.py::TestTerminalReporting::test_logfinish_hook
> ERROR testing/acceptance_test.py::test_teardownfails_one_function - TypeError...
> ERROR testing/acceptance_test.py::test_session_testscollected - TypeError: li...
> ERROR testing/acceptance_test.py::test_fixture_teardown_failure - TypeError: ...
> ERROR testing/acceptance_test.py::test_config_initialization - TypeError: lis...
> ERROR testing/acceptance_test.py::test_crashing_item[setup] - TypeError: list...
> ERROR testing/acceptance_test.py::test_crashing_item[call] - TypeError: list....
> ERROR testing/acceptance_test.py::test_crashing_item[teardown] - TypeError: l...
> ERROR testing/acceptance_test.py::test_multiple_log_reports - TypeError: list...
> ERROR testing/acceptance_test.py::test_skipping - TypeError: list.append() ta...
> ERROR testing/acceptance_test.py::test_issue34_pluginloading_in_subprocess - ...
> ERROR testing/acceptance_test.py::test_fixture_scope_caching_issue503 - TypeE...
> ERROR testing/acceptance_test.py::test_issue_594_random_parametrize - TypeErr...
> ERROR testing/acceptance_test.py::test_tmpdir_disabled - TypeError: list.appe...
> ERROR testing/acceptance_test.py::test_sub_plugins_disabled[xdist.looponfail]
> ERROR testing/acceptance_test.py::test_sub_plugins_disabled[xdist.boxed] - Ty...
> ERROR testing/acceptance_test.py::TestWarnings::test_warnings[pytest--n0] - T...
> ERROR testing/acceptance_test.py::TestWarnings::test_warnings[pytest--n1] - T...
> ERROR testing/acceptance_test.py::TestWarnings::test_warnings[builtin--n0] - ...
> ERROR testing/acceptance_test.py::TestWarnings::test_warnings[builtin--n1] - ...
> ERROR testing/acceptance_test.py::TestWarnings::test_custom_subclass[-n0] - T...
> ERROR testing/acceptance_test.py::TestWarnings::test_custom_subclass[-n1] - T...
> ERROR testing/acceptance_test.py::TestWarnings::test_unserializable_arguments[-n0]
> ERROR testing/acceptance_test.py::TestWarnings::test_unserializable_arguments[-n1]
> ERROR testing/acceptance_test.py::TestWarnings::test_unserializable_warning_details[-n0]
> ERROR testing/acceptance_test.py::TestWarnings::test_unserializable_warning_details[-n1]
> ERROR testing/acceptance_test.py::TestNodeFailure::test_load_single - TypeErr...
> ERROR testing/acceptance_test.py::TestNodeFailure::test_load_multiple - TypeE...
> ERROR testing/acceptance_test.py::TestNodeFailure::test_each_single - TypeErr...
> ERROR testing/acceptance_test.py::TestNodeFailure::test_max_worker_restart - ...
> ERROR testing/acceptance_test.py::TestNodeFailure::test_max_worker_restart_tests_queued
> ERROR testing/acceptance_test.py::TestNodeFailure::test_max_worker_restart_die
> ERROR testing/acceptance_test.py::TestNodeFailure::test_disable_restart - Typ...
> ERROR testing/acceptance_test.py::test_worker_id_fixture[0] - TypeError: list...
> ERROR testing/acceptance_test.py::test_worker_id_fixture[2] - TypeError: list...
> ERROR testing/acceptance_test.py::test_testrun_uid_fixture[0] - TypeError: li...
> ERROR testing/acceptance_test.py::test_testrun_uid_fixture[2] - TypeError: li...
> ERROR testing/acceptance_test.py::test_error_report_styles[auto] - TypeError:...
> ERROR testing/acceptance_test.py::test_error_report_styles[long] - TypeError:...
> ERROR testing/acceptance_test.py::test_error_report_styles[short] - TypeError...
> ERROR testing/acceptance_test.py::test_error_report_styles[no] - TypeError: l...
> ERROR testing/acceptance_test.py::test_error_report_styles[line] - TypeError:...
> ERROR testing/acceptance_test.py::test_error_report_styles[native] - TypeErro...
> ERROR testing/acceptance_test.py::test_color_yes_collection_on_non_atty - Typ...
> ERROR testing/acceptance_test.py::test_without_terminal_plugin - TypeError: l...
> ERROR testing/acceptance_test.py::test_internal_error_with_maxfail - TypeErro...
> ERROR testing/acceptance_test.py::TestLoadScope::test_by_module - TypeError: ...
> ERROR testing/acceptance_test.py::TestLoadScope::test_by_class - TypeError: l...
> ERROR testing/acceptance_test.py::TestLoadScope::test_module_single_start - T...
> ERROR testing/acceptance_test.py::TestFileScope::test_by_module - TypeError: ...
> ERROR testing/acceptance_test.py::TestFileScope::test_by_class - TypeError: l...
> ERROR testing/acceptance_test.py::TestFileScope::test_module_single_start - T...
> ERROR testing/acceptance_test.py::TestLocking::test_single_file[each] - TypeE...
> ERROR testing/acceptance_test.py::TestLocking::test_single_file[load] - TypeE...
> ERROR testing/acceptance_test.py::TestLocking::test_single_file[loadscope] - ...
> ERROR testing/acceptance_test.py::TestLocking::test_single_file[loadfile] - T...
> ERROR testing/acceptance_test.py::TestLocking::test_single_file[no] - TypeErr...
> ERROR testing/acceptance_test.py::TestLocking::test_multi_file[each] - TypeEr...
> ERROR testing/acceptance_test.py::TestLocking::test_multi_file[load] - TypeEr...
> ERROR testing/acceptance_test.py::TestLocking::test_multi_file[loadscope] - T...
> ERROR testing/acceptance_test.py::TestLocking::test_multi_file[loadfile] - Ty...
> ERROR testing/acceptance_test.py::TestLocking::test_multi_file[no] - TypeErro...
> ERROR testing/test_dsession.py::TestEachScheduling::test_schedule_load_simple
> ERROR testing/test_dsession.py::TestEachScheduling::test_schedule_remove_node
> ERROR testing/test_dsession.py::TestLoadScheduling::test_schedule_load_simple
> ERROR testing/test_dsession.py::TestLoadScheduling::test_schedule_batch_size
> ERROR testing/test_dsession.py::TestLoadScheduling::test_schedule_fewer_tests_than_nodes
> ERROR testing/test_dsession.py::TestLoadScheduling::test_schedule_fewer_than_two_tests_per_node
> ERROR testing/test_dsession.py::TestLoadScheduling::test_add_remove_node - Ty...
> ERROR testing/test_dsession.py::TestLoadScheduling::test_different_tests_collected
> ERROR testing/test_looponfail.py::TestStatRecorder::test_filechange - TypeErr...
> ERROR testing/test_looponfail.py::TestStatRecorder::test_dirchange - TypeErro...
> ERROR testing/test_looponfail.py::TestStatRecorder::test_filechange_deletion_race
> ERROR testing/test_looponfail.py::TestStatRecorder::test_pycremoval - TypeErr...
> ERROR testing/test_looponfail.py::TestStatRecorder::test_waitonchange - TypeE...
> ERROR testing/test_looponfail.py::TestRemoteControl::test_nofailures - TypeEr...
> ERROR testing/test_looponfail.py::TestRemoteControl::test_failures_somewhere
> ERROR testing/test_looponfail.py::TestRemoteControl::test_failure_change - Ty...
> ERROR testing/test_looponfail.py::TestRemoteControl::test_failure_subdir_no_init
> ERROR testing/test_looponfail.py::TestLooponFailing::test_looponfail_from_fail_to_ok
> ERROR testing/test_looponfail.py::TestLooponFailing::test_looponfail_from_one_to_two_tests
> ERROR testing/test_looponfail.py::TestLooponFailing::test_looponfail_multiple_errors
> ERROR testing/test_looponfail.py::TestFunctional::test_fail_to_ok - TypeError...
> ERROR testing/test_looponfail.py::TestFunctional::test_xfail_passes - TypeErr...
> ERROR testing/test_newhooks.py::TestHooks::test_runtest_logreport - TypeError...
> ERROR testing/test_newhooks.py::TestHooks::test_node_collection_finished - Ty...
> ERROR testing/test_plugin.py::test_dist_incompatibility_messages - TypeError:...
> ERROR testing/test_plugin.py::test_dist_options - TypeError: list.append() ta...
> ERROR testing/test_plugin.py::test_auto_detect_cpus - TypeError: list.append(...
> ERROR testing/test_plugin.py::test_boxed_with_collect_only - TypeError: list....
> ERROR testing/test_plugin.py::test_dsession_with_collect_only - TypeError: li...
> ERROR testing/test_plugin.py::test_testrunuid_provided - TypeError: list.appe...
> ERROR testing/test_plugin.py::test_testrunuid_generated - TypeError: list.app...
> ERROR testing/test_plugin.py::TestDistOptions::test_getxspecs - TypeError: li...
> ERROR testing/test_plugin.py::TestDistOptions::test_xspecs_multiplied - TypeE...
> ERROR testing/test_plugin.py::TestDistOptions::test_getrsyncdirs - TypeError:...
> ERROR testing/test_plugin.py::TestDistOptions::test_getrsyncignore - TypeErro...
> ERROR testing/test_plugin.py::TestDistOptions::test_getrsyncdirs_with_conftest
> ERROR testing/test_remote.py::TestWorkerInteractor::test_basic_collect_and_runtests
> ERROR testing/test_remote.py::TestWorkerInteractor::test_remote_collect_skip
> ERROR testing/test_remote.py::TestWorkerInteractor::test_remote_collect_fail
> ERROR testing/test_remote.py::TestWorkerInteractor::test_runtests_all - TypeE...
> ERROR testing/test_remote.py::TestWorkerInteractor::test_happy_run_events_converted
> ERROR testing/test_remote.py::TestWorkerInteractor::test_process_from_remote_error_handling
> ERROR testing/test_remote.py::test_remote_env_vars - TypeError: list.append()...
> ERROR testing/test_remote.py::test_remote_inner_argv - TypeError: list.append...
> ERROR testing/test_remote.py::test_remote_mainargv - TypeError: list.append()...
> ERROR testing/test_remote.py::test_remote_usage_prog - TypeError: list.append...
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_popen_no_default_chdir
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_default_chdir
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_popen_makegateway_events
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_popens_rsync - ...
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_rsync_popen_with_path
> ERROR testing/test_slavemanage.py::TestNodeManagerPopen::test_rsync_same_popen_twice
> ERROR testing/test_slavemanage.py::TestHRSync::test_hrsync_filter - TypeError...
> ERROR testing/test_slavemanage.py::TestHRSync::test_hrsync_one_host - TypeErr...
> ERROR testing/test_slavemanage.py::TestNodeManager::test_popen_rsync_subdir
> ERROR testing/test_slavemanage.py::TestNodeManager::test_init_rsync_roots - T...
> ERROR testing/test_slavemanage.py::TestNodeManager::test_rsyncignore - TypeEr...
> ERROR testing/test_slavemanage.py::TestNodeManager::test_optimise_popen - Typ...
> ============ 3 passed, 1 skipped, 11 xfailed, 141 errors in 21.90s =============
> E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pytest-xdist/build; python3.9 -m pytest 
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13
> make: *** [debian/rules:6: binary] Error 25
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Python-modules-team mailing list