* Package: dev-python/pytest-rerunfailures-8.0 * Repository: gentoo * Maintainer: python@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_7 test userland_GNU * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox @@@@@ PLEASE PAY ATTENTION HERE!!! @@@@@ This information may help you to understand if this is a duplicate or if this bug exists after you pushed a fix; This ebuild was merged at the following commit: https://github.com/gentoo-mirror/gentoo/commit/2b125300eee1de2afa6b621902b27f0d074cf542 (Thu Aug 20 17:05:44 UTC 2020) @@@@@ END @@@@@ emerge --info: Portage 3.0.4 (python 3.7.9-final-0, default/linux/amd64/17.1, gcc-10.2.0, glibc-2.32, 5.4.0-1021-aws x86_64) ================================================================= System uname: Linux-5.4.0-1021-aws-x86_64-Intel-R-_Xeon-R-_Platinum_8175M_CPU_@_2.50GHz-with-gentoo-2.7 KiB Mem: 64359960 total, 42215860 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Thu, 20 Aug 2020 17:05:43 +0000 sh bash 5.0_p18 ld GNU ld (Gentoo 2.34 p6) 2.34.0 app-shells/bash: 5.0_p18::gentoo dev-lang/perl: 5.30.3-r1::gentoo dev-lang/python: 2.7.18-r1::gentoo, 3.7.9::gentoo, 3.8.5::gentoo, 3.9.0_rc1::gentoo dev-util/cmake: 3.18.1::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.20::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.2::gentoo sys-devel/binutils: 2.34-r2::gentoo sys-devel/gcc: 10.2.0::gentoo sys-devel/gcc-config: 2.3.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.8::gentoo (virtual/os-headers) sys-libs/glibc: 2.32::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes sync-rsync-verify-max-age: 24 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* MPL-2.0" CBUILD="x86_64-pc-linux-gnu" CC="x86_64-pc-linux-gnu-clang" CFLAGS="-O2 -pipe -march=native -frecord-gcc-switches -fno-diagnostics-color" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXX="x86_64-pc-linux-gnu-clang++" CXXFLAGS="-O2 -pipe -march=native -frecord-gcc-switches -fno-diagnostics-color" DISTDIR="/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/distdir" EMERGE_DEFAULT_OPTS="--with-bdeps=y -1 -b -k" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe -march=native -frecord-gcc-switches -fno-diagnostics-color" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe -march=native -frecord-gcc-switches -fno-diagnostics-color" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -fuse-ld=lld" MAKEOPTS="-j16 V=1" PKGDIR="/root/.packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="acl amd64 berkdb bzip2 cli crypt dri elogind fortran gdbm iconv ipv6 jumbo-build libglvnd libtirpc multilib native-symlinks ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd test unicode xattr zlib" ABI_X86="64" ELIBC="glibc" KERNEL="linux" PYTHON_TARGETS="python3_7" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS >>> Unpacking source... >>> Unpacking pytest-rerunfailures-8.0.tar.gz to /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work >>> Source unpacked in /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work >>> Preparing source in /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0 ... * python3_7: running distutils-r1_run_phase distutils-r1_python_compile python3.7 setup.py build -j 16 running build running build_py copying pytest_rerunfailures.py -> /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib warning: build_py: byte-compiling is disabled, skipping. >>> Source compiled. >>> Test phase: dev-python/pytest-rerunfailures-8.0 * python3_7: running distutils-r1_run_phase python_test ============================= test session starts ============================== platform linux -- Python 3.7.9, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3.7 cachedir: .pytest_cache rootdir: /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0 plugins: rerunfailures-8.0 collecting ... collected 37 items test_pytest_rerunfailures.py::test_error_when_run_with_pdb PASSED [ 2%] test_pytest_rerunfailures.py::test_no_rerun_on_pass PASSED [ 5%] test_pytest_rerunfailures.py::test_no_rerun_on_skipif_mark PASSED [ 8%] test_pytest_rerunfailures.py::test_no_rerun_on_skip_call PASSED [ 10%] test_pytest_rerunfailures.py::test_no_rerun_on_xfail_mark PASSED [ 13%] test_pytest_rerunfailures.py::test_no_rerun_on_xfail_call PASSED [ 16%] test_pytest_rerunfailures.py::test_no_rerun_on_xpass PASSED [ 18%] test_pytest_rerunfailures.py::test_rerun_fails_after_consistent_setup_failure PASSED [ 21%] test_pytest_rerunfailures.py::test_rerun_passes_after_temporary_setup_failure PASSED [ 24%] test_pytest_rerunfailures.py::test_rerun_fails_after_consistent_test_failure PASSED [ 27%] test_pytest_rerunfailures.py::test_rerun_passes_after_temporary_test_failure PASSED [ 29%] test_pytest_rerunfailures.py::test_rerun_passes_after_temporary_test_failure_with_flaky_mark PASSED [ 32%] test_pytest_rerunfailures.py::test_reruns_if_flaky_mark_is_called_without_options PASSED [ 35%] test_pytest_rerunfailures.py::test_reruns_if_flaky_mark_is_called_with_positional_argument PASSED [ 37%] test_pytest_rerunfailures.py::test_no_extra_test_summary_for_reruns_by_default PASSED [ 40%] test_pytest_rerunfailures.py::test_extra_test_summary_for_reruns PASSED [ 43%] test_pytest_rerunfailures.py::test_verbose PASSED [ 45%] test_pytest_rerunfailures.py::test_no_rerun_on_class_setup_error_without_reruns PASSED [ 48%] test_pytest_rerunfailures.py::test_rerun_on_class_setup_error_with_reruns PASSED [ 51%] test_pytest_rerunfailures.py::test_rerun_with_resultslog PASSED [ 54%] test_pytest_rerunfailures.py::test_reruns_with_delay[-1] PASSED [ 56%] test_pytest_rerunfailures.py::test_reruns_with_delay[0] PASSED [ 59%] test_pytest_rerunfailures.py::test_reruns_with_delay[0.0] PASSED [ 62%] test_pytest_rerunfailures.py::test_reruns_with_delay[1] PASSED [ 64%] test_pytest_rerunfailures.py::test_reruns_with_delay[2.5] PASSED [ 67%] test_pytest_rerunfailures.py::test_reruns_with_delay_marker[-1] PASSED [ 70%] test_pytest_rerunfailures.py::test_reruns_with_delay_marker[0] PASSED [ 72%] test_pytest_rerunfailures.py::test_reruns_with_delay_marker[0.0] PASSED [ 75%] test_pytest_rerunfailures.py::test_reruns_with_delay_marker[1] PASSED [ 78%] test_pytest_rerunfailures.py::test_reruns_with_delay_marker[2.5] PASSED [ 81%] test_pytest_rerunfailures.py::test_rerun_on_setup_class_with_error_with_reruns FAILED [ 83%] test_pytest_rerunfailures.py::test_rerun_on_class_scope_fixture_with_error_with_reruns FAILED [ 86%] test_pytest_rerunfailures.py::test_rerun_on_module_fixture_with_reruns FAILED [ 89%] test_pytest_rerunfailures.py::test_rerun_on_session_fixture_with_reruns FAILED [ 91%] test_pytest_rerunfailures.py::test_execution_count_exposed PASSED [ 94%] test_pytest_rerunfailures.py::test_rerun_report PASSED [ 97%] test_pytest_rerunfailures.py::test_pytest_runtest_logfinish_is_called PASSED [100%] =================================== FAILURES =================================== _______________ test_rerun_on_setup_class_with_error_with_reruns _______________ testdir = def test_rerun_on_setup_class_with_error_with_reruns(testdir): """ Case: setup_class throwing error on the first execution for parametrized test """ testdir.makepyfile(""" import pytest pass_fixture = False class TestFoo(object): @classmethod def setup_class(cls): global pass_fixture if not pass_fixture: pass_fixture = True assert False assert True @pytest.mark.parametrize('param', [1, 2, 3]) def test_pass(self, param): assert param""") result = testdir.runpytest('--reruns', '1') > assert_outcomes(result, passed=3, rerun=1) /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:294: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:27: in assert_outcomes outcomes = result.parseoutcomes() /usr/lib/python3.7/site-packages/_pytest/pytester.py:461: in parseoutcomes return self.parse_summary_nouns(self.outlines) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = lines = ['============================= test session starts ==============================', 'platform linux -- Python 3.7.9, ...ytest-0/test_rerun_on_setup_class_with_error_with_reruns0', 'plugins: rerunfailures-8.0', 'collected 3 items', '', ...] @classmethod def parse_summary_nouns(cls, lines) -> Dict[str, int]: """Extracts the nouns from a pytest terminal summary line. It always returns the plural noun for consistency:: ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ==== Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}`` """ for line in reversed(lines): if rex_session_duration.search(line): outcomes = rex_outcome.findall(line) ret = {noun: int(count) for (count, noun) in outcomes} break else: > raise ValueError("Pytest terminal summary report not found") E ValueError: Pytest terminal summary report not found /usr/lib/python3.7/site-packages/_pytest/pytester.py:479: ValueError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.7.9, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/pytest-of-portage/pytest-0/test_rerun_on_setup_class_with_error_with_reruns0 plugins: rerunfailures-8.0 collected 3 items test_rerun_on_setup_class_with_error_with_reruns.py R INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 240, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 296, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 321, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 194, in pytest_runtest_protocol INTERNALERROR> _remove_cached_results_from_failed_fixtures(item) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 135, in _remove_cached_results_from_failed_fixtures INTERNALERROR> result, cache_key, err = getattr(fixture_def, cached_result) INTERNALERROR> TypeError: cannot unpack non-iterable NoneType object ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/_pytest/pytester.py", line 1004, in runpytest_inprocess reprec = self.inline_run(*args, **kwargs) File "/usr/lib/python3.7/site-packages/_pytest/pytester.py", line 970, in inline_run ret = pytest.main(list(args), plugins=plugins) File "/usr/lib/python3.7/site-packages/_pytest/config/__init__.py", line 158, in main config=config File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 289, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 278, in wrap_session session=session, exitstatus=session.exitstatus File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call result = func() File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 203, in _multicall gen.send(outcome) File "/usr/lib/python3.7/site-packages/_pytest/terminal.py", line 803, in pytest_sessionfinish outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 94, in pytest_sessionfinish session._setupstate.teardown_all() File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 395, in teardown_all self._pop_and_teardown() File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 370, in _pop_and_teardown self._teardown_with_finalization(colitem) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 388, in _teardown_with_finalization self._callfinalizers(colitem) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 385, in _callfinalizers raise exc File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 378, in _callfinalizers fin() File "/usr/lib/python3.7/site-packages/_pytest/fixtures.py", line 1026, in finish hook.pytest_fixture_post_finalizer(fixturedef=self, request=request) File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call result = func() File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/setuponly.py", line 51, in pytest_fixture_post_finalizer if fixturedef.cached_result is not None: AttributeError: 'FixtureDef' object has no attribute 'cached_result' ___________ test_rerun_on_class_scope_fixture_with_error_with_reruns ___________ testdir = def test_rerun_on_class_scope_fixture_with_error_with_reruns(testdir): """ Case: Class scope fixture throwing error on the first execution for parametrized test """ testdir.makepyfile(""" import pytest pass_fixture = False class TestFoo(object): @pytest.fixture(scope="class") def setup_fixture(self): global pass_fixture if not pass_fixture: pass_fixture = True assert False assert True @pytest.mark.parametrize('param', [1, 2, 3]) def test_pass(self, setup_fixture, param): assert param""") result = testdir.runpytest('--reruns', '1') > assert_outcomes(result, passed=3, rerun=1) /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:319: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:27: in assert_outcomes outcomes = result.parseoutcomes() /usr/lib/python3.7/site-packages/_pytest/pytester.py:461: in parseoutcomes return self.parse_summary_nouns(self.outlines) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = lines = ['============================= test session starts ==============================', 'platform linux -- Python 3.7.9, ...test_rerun_on_class_scope_fixture_with_error_with_reruns0', 'plugins: rerunfailures-8.0', 'collected 3 items', '', ...] @classmethod def parse_summary_nouns(cls, lines) -> Dict[str, int]: """Extracts the nouns from a pytest terminal summary line. It always returns the plural noun for consistency:: ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ==== Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}`` """ for line in reversed(lines): if rex_session_duration.search(line): outcomes = rex_outcome.findall(line) ret = {noun: int(count) for (count, noun) in outcomes} break else: > raise ValueError("Pytest terminal summary report not found") E ValueError: Pytest terminal summary report not found /usr/lib/python3.7/site-packages/_pytest/pytester.py:479: ValueError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.7.9, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/pytest-of-portage/pytest-0/test_rerun_on_class_scope_fixture_with_error_with_reruns0 plugins: rerunfailures-8.0 collected 3 items test_rerun_on_class_scope_fixture_with_error_with_reruns.py R INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 240, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 296, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 321, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 194, in pytest_runtest_protocol INTERNALERROR> _remove_cached_results_from_failed_fixtures(item) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 135, in _remove_cached_results_from_failed_fixtures INTERNALERROR> result, cache_key, err = getattr(fixture_def, cached_result) INTERNALERROR> TypeError: cannot unpack non-iterable NoneType object ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/_pytest/pytester.py", line 1004, in runpytest_inprocess reprec = self.inline_run(*args, **kwargs) File "/usr/lib/python3.7/site-packages/_pytest/pytester.py", line 970, in inline_run ret = pytest.main(list(args), plugins=plugins) File "/usr/lib/python3.7/site-packages/_pytest/config/__init__.py", line 158, in main config=config File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 289, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 278, in wrap_session session=session, exitstatus=session.exitstatus File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call result = func() File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 203, in _multicall gen.send(outcome) File "/usr/lib/python3.7/site-packages/_pytest/terminal.py", line 803, in pytest_sessionfinish outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 94, in pytest_sessionfinish session._setupstate.teardown_all() File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 395, in teardown_all self._pop_and_teardown() File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 370, in _pop_and_teardown self._teardown_with_finalization(colitem) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 388, in _teardown_with_finalization self._callfinalizers(colitem) File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 385, in _callfinalizers raise exc File "/usr/lib/python3.7/site-packages/_pytest/runner.py", line 378, in _callfinalizers fin() File "/usr/lib/python3.7/site-packages/_pytest/fixtures.py", line 1026, in finish hook.pytest_fixture_post_finalizer(fixturedef=self, request=request) File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call result = func() File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall return outcome.get_result() File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.7/site-packages/_pytest/setuponly.py", line 51, in pytest_fixture_post_finalizer if fixturedef.cached_result is not None: AttributeError: 'FixtureDef' object has no attribute 'cached_result' ___________________ test_rerun_on_module_fixture_with_reruns ___________________ testdir = def test_rerun_on_module_fixture_with_reruns(testdir): """ Case: Module scope fixture is not re-executed when class scope fixture throwing error on the first execution for parametrized test """ testdir.makepyfile(""" import pytest pass_fixture = False @pytest.fixture(scope='module') def module_fixture(): assert not pass_fixture class TestFoo(object): @pytest.fixture(scope="class") def setup_fixture(self): global pass_fixture if not pass_fixture: pass_fixture = True assert False assert True def test_pass_1(self, module_fixture, setup_fixture): assert True def test_pass_2(self, module_fixture, setup_fixture): assert True""") result = testdir.runpytest('--reruns', '1') > assert_outcomes(result, passed=2, rerun=1) /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ result = passed = 2, skipped = 0, failed = 0, error = 0, xfailed = 0, xpassed = 0 rerun = 1 def assert_outcomes(result, passed=1, skipped=0, failed=0, error=0, xfailed=0, xpassed=0, rerun=0): outcomes = result.parseoutcomes() > assert outcomes.get('passed', 0) == passed E assert 0 == 2 E +0 E -2 /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:28: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.7.9, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/pytest-of-portage/pytest-0/test_rerun_on_module_fixture_with_reruns0 plugins: rerunfailures-8.0 collected 2 items test_rerun_on_module_fixture_with_reruns.py RER INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 240, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 296, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 321, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 194, in pytest_runtest_protocol INTERNALERROR> _remove_cached_results_from_failed_fixtures(item) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 135, in _remove_cached_results_from_failed_fixtures INTERNALERROR> result, cache_key, err = getattr(fixture_def, cached_result) INTERNALERROR> TypeError: cannot unpack non-iterable NoneType object ========================== 1 error, 2 rerun in 0.45s =========================== __________________ test_rerun_on_session_fixture_with_reruns ___________________ testdir = def test_rerun_on_session_fixture_with_reruns(testdir): """ Case: Module scope fixture is not re-executed when class scope fixture throwing error on the first execution for parametrized test """ testdir.makepyfile(""" import pytest pass_fixture = False @pytest.fixture(scope='session') def session_fixture(): assert not pass_fixture class TestFoo(object): @pytest.fixture(scope="class") def setup_fixture(self): global pass_fixture if not pass_fixture: pass_fixture = True assert False assert True def test_pass_1(self, session_fixture, setup_fixture): assert True def test_pass_2(self, session_fixture, setup_fixture): assert True""") result = testdir.runpytest('--reruns', '1') > assert_outcomes(result, passed=2, rerun=1) /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ result = passed = 2, skipped = 0, failed = 0, error = 0, xfailed = 0, xpassed = 0 rerun = 1 def assert_outcomes(result, passed=1, skipped=0, failed=0, error=0, xfailed=0, xpassed=0, rerun=0): outcomes = result.parseoutcomes() > assert outcomes.get('passed', 0) == passed E assert 0 == 2 E +0 E -2 /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0/test_pytest_rerunfailures.py:28: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.7.9, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/pytest-of-portage/pytest-0/test_rerun_on_session_fixture_with_reruns0 plugins: rerunfailures-8.0 collected 2 items test_rerun_on_session_fixture_with_reruns.py RER INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 240, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 296, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.7/site-packages/_pytest/main.py", line 321, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__ INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 337, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 52, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 335, in INTERNALERROR> outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs)) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/manager.py", line 87, in INTERNALERROR> firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 194, in pytest_runtest_protocol INTERNALERROR> _remove_cached_results_from_failed_fixtures(item) INTERNALERROR> File "/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0-python3_7/lib/pytest_rerunfailures.py", line 135, in _remove_cached_results_from_failed_fixtures INTERNALERROR> result, cache_key, err = getattr(fixture_def, cached_result) INTERNALERROR> TypeError: cannot unpack non-iterable NoneType object ========================== 1 error, 2 rerun in 0.45s =========================== =========================== short test summary info ============================ FAILED test_pytest_rerunfailures.py::test_rerun_on_setup_class_with_error_with_reruns FAILED test_pytest_rerunfailures.py::test_rerun_on_class_scope_fixture_with_error_with_reruns FAILED test_pytest_rerunfailures.py::test_rerun_on_module_fixture_with_reruns FAILED test_pytest_rerunfailures.py::test_rerun_on_session_fixture_with_reruns ========================= 4 failed, 33 passed in 3.19s ========================= * ERROR: dev-python/pytest-rerunfailures-8.0::gentoo failed (test phase): * Tests fail with python3.7 * * Call stack: * ebuild.sh, line 125: Called src_test * environment, line 3010: Called distutils-r1_src_test * environment, line 1301: Called _distutils-r1_run_foreach_impl 'python_test' * environment, line 481: Called python_foreach_impl 'distutils-r1_run_phase' 'python_test' * environment, line 2620: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' * environment, line 2084: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' * environment, line 2082: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test' * environment, line 874: Called distutils-r1_run_phase 'python_test' * environment, line 1238: Called python_test * environment, line 2970: Called die * The specific snippet of code: * pytest -vv || die "Tests fail with ${EPYTHON}" * * If you need support, post the output of `emerge --info '=dev-python/pytest-rerunfailures-8.0::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-python/pytest-rerunfailures-8.0::gentoo'`. * The complete build log is located at '/var/log/emerge-log/build/dev-python/pytest-rerunfailures-8.0:20200820-185939.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0' * S: '/var/tmp/portage/dev-python/pytest-rerunfailures-8.0/work/pytest-rerunfailures-8.0'