Skip to content

Exception when using pytest >= 5.0.0 with pypy3 #5807

@texasaggie97-zz

Description

@texasaggie97-zz
  • a detailed description of the bug or suggestion
  • output of pip list from the virtual environment you are using
  • pytest and operating system versions
  • minimal example if possible

I am getting the following exception when using pytest with pypy3 (either pypy3.5 or pypy3.6):

INTERNALERROR> Traceback (most recent call last):                                                                                                                                                                                                                             INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\main.py", line 187, in wrap_session                                                                                                                              INTERNALERROR>     config._do_configure()                                                                                                                                                                                                                                     INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\config\__init__.py", line 704, in _do_configure                                                                                                                  INTERNALERROR>     self.hook.pytest_configure.call_historic(kwargs=dict(config=self))                                                                                                                                                                                         INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\hooks.py", line 311, in call_historic                                                                                                                             INTERNALERROR>     res = self._hookexec(self, self.get_hookimpls(), kwargs)                                                                                                                                                                                                   INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 87, in _hookexec                                                                                                                                INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)                                                                                                                                                                                                         INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 81, in <lambda>                                                                                                                                 INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,                                                                                                                                                                                     INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 208, in _multicall                                                                                                                              INTERNALERROR>     return outcome.get_result()                                                                                                                                                                                                                                INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 80, in get_result                                                                                                                               INTERNALERROR>     raise ex[1].with_traceback(ex[2])                                                                                                                                                                                                                          INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 187, in _multicall                                                                                                                              INTERNALERROR>     res = hook_impl.function(*args)                                                                                                                                                                                                                            INTERNALERROR>   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\faulthandler.py", line 21, in pytest_configure                                                                                                                   INTERNALERROR>     if faulthandler.is_enabled():                                                                                                                                                                                                                              INTERNALERROR> AttributeError: module 'faulthandler' has no attribute 'is_enabled'                                                                                                                                                                                            Traceback (most recent call last):                                                                                                                                                                                                                                              File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\py\test.py", line 4, in <module>                                                                                                                                                            sys.exit(pytest.main())                                                                                                                                                                                                                                                     File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\config\__init__.py", line 78, in main                                                                                                                                               return config.hook.pytest_cmdline_main(config=config)                                                                                                                                                                                                                       File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\hooks.py", line 289, in __call__                                                                                                                                                     return self._hookexec(self, self.get_hookimpls(), kwargs)                                                                                                                                                                                                                   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 87, in _hookexec                                                                                                                                                   return self._inner_hookexec(hook, methods, kwargs)                                                                                                                                                                                                                          File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 81, in <lambda>                                                                                                                                                    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,                                                                                                                                                                                                      File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 208, in _multicall                                                                                                                                                 return outcome.get_result()                                                                                                                                                                                                                                                 File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 80, in get_result                                                                                                                                                  raise ex[1].with_traceback(ex[2])                                                                                                                                                                                                                                           File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 187, in _multicall                                                                                                                                                 res = hook_impl.function(*args)                                                                                                                                                                                                                                             File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\main.py", line 228, in pytest_cmdline_main                                                                                                                                          return wrap_session(config, _main)                                                                                                                                                                                                                                          File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\main.py", line 223, in wrap_session                                                                                                                                                 config._ensure_unconfigure()                                                                                                                                                                                                                                                File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\config\__init__.py", line 709, in _ensure_unconfigure                                                                                                                               self.hook.pytest_unconfigure(config=self)                                                                                                                                                                                                                                   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\hooks.py", line 289, in __call__                                                                                                                                                     return self._hookexec(self, self.get_hookimpls(), kwargs)                                                                                                                                                                                                                   File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 87, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\manager.py", line 81, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 208, in _multicall
    return outcome.get_result()
  File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\pluggy\callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "c:\users\msilva\documents\github\nimi-python\.tox\64\pypy3-test\site-packages\_pytest\faulthandler.py", line 42, in pytest_unconfigure
    faulthandler.disable()
AttributeError: module 'faulthandler' has no attribute 'disable'

This same configuration works with cpython 3.4 - 3.7

I am not able to get around this by using -p no:faulthandler. It looks like this error is happening before that can take affect.

Package            Version
------------------ -------
atomicwrites       1.3.0
attrs              19.1.0
cffi               1.12.0
colorama           0.4.1
coverage           4.5.4
greenlet           0.4.13
importlib-metadata 0.19
Mako               1.1.0
MarkupSafe         1.1.1
mock               3.0.5
more-itertools     7.2.0
numpy              1.17.1
packaging          19.1
pathlib2           2.3.4
pip                19.2.3
pluggy             0.12.0
py                 1.8.0
pyparsing          2.4.2
pytest             5.1.2
readline           6.2.4.1
setuptools         41.2.0
six                1.12.0
wcwidth            0.1.7
wheel              0.33.6
zipp               0.6.0

I have tried this with pytest 5.0.0, 5.0.1, 5.1.1 and 5.1.2 and am seeing this on Windows 10 and Linux (via Travis CI)

You can see an example of this at this build: https://travis-ci.org/ni/nimi-python/jobs/578577545

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions