Open FFY00 opened 4 years ago
Thanks for the report. This is due to a change in tblib: https://github.com/ionelmc/python-tblib/pull/54#issuecomment-586949067 - have not investigated, just bisected.
Note that it works with --lf
to only re-run failures, so it seems possible that there is a problem with the tests themselves only.
FWIW I am seeing 7 failures only (with -rf
):
FAILED tests/test_general.py::test_environ_shim[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_skip_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_skipif_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_custom_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_multiple_failures[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_pytest_html[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_collection_error[cli_args1] - ValueError: Pytest terminal summary report not found
Yes, the other error might be because I am running with pytest-runner. Optimally we would detect this and skip the tests.
Are the others in the output above?
Can you post the output using --tb=short -ra
?
On python 3.8 with pytest 5.3.5, running pyest --tb=short -ra
:
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /home/anubis/git/pytest-parallel
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 31 items
tests/test_concurrent.py . [ 3%]
tests/test_general.py ......F..F..F..F..F.FFF.F.... [ 96%]
tests/test_safenumber.py . [100%]
=================================== FAILURES ===================================
_________________________ test_environ_shim[cli_args1] _________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:104: in test_environ_shim
result.assert_outcomes(passed=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_environ_shim1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 1 item
pytest-parallel: 2 workers (processes), 1 test per worker (thread)
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 701, in pytest_sessionfinish
self.summary_stats()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 912, in summary_stats
(parts, main_color) = build_summary_stats_line(self.stats)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in build_summary_stats_line
count = sum(
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in <genexpr>
count = sum(
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc469bc3790>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
_________________________ test_skip_markers[cli_args1] _________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:125: in test_skip_markers
result.assert_outcomes(passed=1, skipped=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_skip_markers1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 2 items
pytest-parallel: 2 workers (processes), 1 test per worker (thread)
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 701, in pytest_sessionfinish
self.summary_stats()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 912, in summary_stats
(parts, main_color) = build_summary_stats_line(self.stats)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in build_summary_stats_line
count = sum(
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in <genexpr>
count = sum(
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc46671f280>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
________________________ test_skipif_markers[cli_args1] ________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:153: in test_skipif_markers
result.assert_outcomes(passed=1, skipped=2)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_skipif_markers1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 3 items
pytest-parallel: 2 workers (processes), 1 test per worker (thread)
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 701, in pytest_sessionfinish
self.summary_stats()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 912, in summary_stats
(parts, main_color) = build_summary_stats_line(self.stats)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in build_summary_stats_line
count = sum(
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 1134, in <genexpr>
count = sum(
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc4665fb160>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
________________________ test_custom_markers[cli_args1] ________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:174: in test_custom_markers
result.assert_outcomes(passed=1, skipped=0)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_custom_markers1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 2 items / 1 deselected / 1 selected
pytest-parallel: 2 workers (processes), 1 test per worker (thread)
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 691, in pytest_sessionfinish
self.config.hook.pytest_terminal_summary(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 182, in _multicall
next(gen) # first yield
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 707, in pytest_terminal_summary
self.summary_warnings()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 802, in summary_warnings
for wr in warning_reports:
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc466682160>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
______________________ test_multiple_failures[cli_args1] _______________________
/home/anubis/git/pytest-parallel/tests/test_general.py:198: in test_multiple_failures
result.assert_outcomes(failed=4)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_multiple_failures1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 4 items
pytest-parallel: 2 workers (processes), 1 test per worker (thread)
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 691, in pytest_sessionfinish
self.config.hook.pytest_terminal_summary(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 182, in _multicall
next(gen) # first yield
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 706, in pytest_terminal_summary
self.summary_failures()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 864, in summary_failures
reports = self.getreports("failed")
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 777, in getreports
for x in self.stats.get(name, []):
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc4663fe430>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
_________________________ test_pytest_html[cli_args0] __________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:217: in test_pytest_html
result.assert_outcomes(passed=1, failed=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stderr call -----------------------------
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --html=/tmp/pytest-of-anubis/pytest-4/test_pytest_html0/report.html
inifile: None
rootdir: /tmp/pytest-of-anubis/pytest-4/test_pytest_html0
_________________________ test_pytest_html[cli_args1] __________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:217: in test_pytest_html
result.assert_outcomes(passed=1, failed=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stderr call -----------------------------
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --html=/tmp/pytest-of-anubis/pytest-4/test_pytest_html1/report.html
inifile: None
rootdir: /tmp/pytest-of-anubis/pytest-4/test_pytest_html1
_________________________ test_pytest_html[cli_args2] __________________________
/home/anubis/git/pytest-parallel/tests/test_general.py:217: in test_pytest_html
result.assert_outcomes(passed=1, failed=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stderr call -----------------------------
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --html=/tmp/pytest-of-anubis/pytest-4/test_pytest_html2/report.html
inifile: None
rootdir: /tmp/pytest-of-anubis/pytest-4/test_pytest_html2
_______________________ test_collection_error[cli_args1] _______________________
/home/anubis/git/pytest-parallel/tests/test_general.py:241: in test_collection_error
result.assert_outcomes(error=1)
/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py:442: in parseoutcomes
???
E ValueError: Pytest terminal summary report not found
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /tmp/pytest-of-anubis/pytest-4/test_collection_error1
plugins: parallel-0.0.10, forked-1.1.3, timeout-1.3.4, hypothesis-4.54.2, xdist-1.31.0
collected 1 item / 1 error
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 924, in runpytest_inprocess
File "/build/python-pytest/src/pytest-5.3.5/build/lib/_pytest/pytester.py", line 890, in inline_run
File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 92, in main
ret = config.hook.pytest_cmdline_main(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 232, in wrap_session
config.hook.pytest_sessionfinish(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 691, in pytest_sessionfinish
self.config.hook.pytest_terminal_summary(
File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 182, in _multicall
next(gen) # first yield
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 705, in pytest_terminal_summary
self.summary_errors()
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 881, in summary_errors
reports = self.getreports("error")
File "/usr/lib/python3.8/site-packages/_pytest/terminal.py", line 777, in getreports
for x in self.stats.get(name, []):
File "<string>", line 2, in __getitem__
File "/usr/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/managers.py", line 298, in serve_client
send(msg)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function unpickle_exception at 0x7fc46604af70>: it's not the same object as tblib.pickling_support.unpickle_exception
---------------------------------------------------------------------------
=========================== short test summary info ============================
FAILED tests/test_general.py::test_environ_shim[cli_args1] - ValueError: Pyte...
FAILED tests/test_general.py::test_skip_markers[cli_args1] - ValueError: Pyte...
FAILED tests/test_general.py::test_skipif_markers[cli_args1] - ValueError: Py...
FAILED tests/test_general.py::test_custom_markers[cli_args1] - ValueError: Py...
FAILED tests/test_general.py::test_multiple_failures[cli_args1] - ValueError:...
FAILED tests/test_general.py::test_pytest_html[cli_args0] - ValueError: Pytes...
FAILED tests/test_general.py::test_pytest_html[cli_args1] - ValueError: Pytes...
FAILED tests/test_general.py::test_pytest_html[cli_args2] - ValueError: Pytes...
FAILED tests/test_general.py::test_collection_error[cli_args1] - ValueError: ...
========================= 9 failed, 22 passed in 7.62s =========================
Agh, the summary got cut.
FAILED tests/test_general.py::test_environ_shim[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_skip_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_skipif_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_custom_markers[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_multiple_failures[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_pytest_html[cli_args0] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_pytest_html[cli_args1] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_pytest_html[cli_args2] - ValueError: Pytest terminal summary report not found
FAILED tests/test_general.py::test_collection_error[cli_args1] - ValueError: Pytest terminal summary report not found
Thanks. Can you try https://github.com/browsertron/pytest-parallel/pull/63, please?
Still the same.
This error is very confusing. Is it really possible that there are multiple instances of unpickle_exception in the same process? Does this only happen on Python 3.8?
FWIW, #63 fixed it for me and on CI (py36 and py37 IIRC).
@ionelmc also note that it passes with --lf
, so it appears to be related to previous tests.
It might be possible that tests are broken themselves somehow - haven't looked at it more yet (and likely won't anytime soon).
I am packaging this for Archlinux and running the tests with
python setup.py pytest
.