Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INTERNALERROR with pytest 5.3.4 #6608

Closed
4 tasks done
wasade opened this issue Jan 28, 2020 · 3 comments
Closed
4 tasks done

INTERNALERROR with pytest 5.3.4 #6608

wasade opened this issue Jan 28, 2020 · 3 comments

Comments

@wasade
Copy link

wasade commented Jan 28, 2020

We are observing an INTERNALERROR with pytest 5.3.4. This error is not produced with pytest 5.3.3.

Travis output for 5.3.4 is here, and for 5.3.3 is here. The only difference between the builds is the version of pytest used.

Host information for the Travis instances is available in the linked output -- please let me know if that would be useful to summarize inline and I'll edit this issue accordingly.

After some prodding at the failing test class, I was able to reduce it down to what appears to be a bad interaction with numpy.testing.skipif. A minimal example to produce the INTERNALERROR is below, as is pip list, conda list and host details when exercising the minimal example.

  • 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
$ cat minimal.py
import numpy.testing as npt
import unittest


class InternalErrorExample(unittest.TestCase):
    @npt.dec.skipif(False, msg='foo')
    def test_example(self):
        print("asd")
$ pytest minimal.py
===================================================================================================================== test session starts ======================================================================================================================
platform darwin -- Python 3.7.6, pytest-5.3.4, py-1.8.1, pluggy-0.13.1
rootdir: /Users/dtmcdonald/ResearchWork/software/biom-format, inifile: pytest.ini
plugins: cov-2.8.1
collected 1 item
Coverage.py warning: No data was collected. (no-data-collected)
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/main.py", line 197, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/main.py", line 247, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/manager.py", line 87, in <lambda>
INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 203, in _multicall
INTERNALERROR>     gen.send(outcome)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/main.py", line 271, in pytest_runtestloop
INTERNALERROR>     item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/manager.py", line 87, in <lambda>
INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/runner.py", line 83, in pytest_runtest_protocol
INTERNALERROR>     item.ihook.pytest_runtest_logstart(nodeid=item.nodeid, location=item.location)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/compat.py", line 420, in __get__
INTERNALERROR>     value = instance.__dict__[self.func.__name__] = self.func(instance)
INTERNALERROR>   File "/Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest/lib/python3.7/site-packages/_pytest/nodes.py", line 465, in location
INTERNALERROR>     assert isinstance(location[0], py.path.local), location[0]
INTERNALERROR> AssertionError: /Users/dtmcdonald/ResearchWork/software/biom-format/minimal.py

====================================================================================================================== 1 warning in 0.58s ======================================================================================================================
$ uname -a
Darwin here.local 17.7.0 Darwin Kernel Version 17.7.0: Sun Dec  1 19:19:56 PST 2019; root:xnu-4570.71.63~1/RELEASE_X86_64 x86_64
$ pip list
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Package            Version
------------------ -------------------
attrs              19.3.0
bleach             3.1.0
certifi            2019.11.28
chardet            3.0.4
coverage           5.0.3
Cython             0.29.14
future             0.18.2
h5py               2.9.0
idna               2.8
importlib-metadata 1.3.0
keyring            21.0.0
mkl-fft            1.0.15
mkl-random         1.1.0
mkl-service        2.3.0
more-itertools     8.0.2
nose               1.3.7
numpy              1.18.1
packaging          20.1
pandas             0.25.3
pip                20.0.2
pkginfo            1.5.0.1
pluggy             0.13.1
py                 1.8.1
Pygments           2.5.2
pyparsing          2.4.6
pytest             5.3.4
pytest-cov         2.8.1
python-dateutil    2.8.1
pytz               2019.3
readme-renderer    24.0
requests           2.22.0
requests-toolbelt  0.9.1
scipy              1.3.1
setuptools         45.1.0.post20200127
six                1.14.0
tqdm               4.41.1
twine              3.1.1
urllib3            1.25.7
wcwidth            0.1.8
webencodings       0.5.1
wheel              0.33.6
zipp               0.6.0
$ conda list
# packages in environment at /Users/dtmcdonald/miniconda3/envs/biom2.1.8-pytesttest:
#
# Name                    Version                   Build  Channel
attrs                     19.3.0                   pypi_0    pypi
blas                      1.0                         mkl
ca-certificates           2019.11.27                    0
certifi                   2019.11.28               py37_0
coverage                  5.0.3                    pypi_0    pypi
cython                    0.29.14          py37h0a44026_0
future                    0.18.2                   pypi_0    pypi
h5py                      2.9.0            py37h3134771_0
hdf5                      1.10.4               hfa1e0ec_0
intel-openmp              2019.4                      233
libcxx                    4.0.1                hcfea43d_1
libcxxabi                 4.0.1                hcfea43d_1
libedit                   3.1.20181209         hb402a30_0
libffi                    3.2.1                h475c297_4
libgfortran               3.0.1                h93005f0_2
mkl                       2019.4                      233
mkl-service               2.3.0            py37hfbe908c_0
mkl_fft                   1.0.15           py37h5e564d8_0
mkl_random                1.1.0            py37ha771720_0
ncurses                   6.1                  h0a44026_1
nose                      1.3.7                    pypi_0    pypi
numpy                     1.18.1           py37h7241aed_0
numpy-base                1.18.1           py37h6575580_1
openssl                   1.1.1d               h1de35cc_3
packaging                 20.1                     pypi_0    pypi
pandas                    0.25.3           py37h0a44026_0
pip                       20.0.2                   py37_0
pluggy                    0.13.1                   pypi_0    pypi
py                        1.8.1                    pypi_0    pypi
pyparsing                 2.4.6                    pypi_0    pypi
pytest                    5.3.4                    pypi_0    pypi
pytest-cov                2.8.1                    pypi_0    pypi
python                    3.7.6                h359304d_2
python-dateutil           2.8.1                      py_0
pytz                      2019.3                     py_0
readline                  7.0                  h1de35cc_5
scipy                     1.3.1            py37h1410ff5_0
setuptools                45.1.0                   py37_0
six                       1.14.0                   py37_0
sqlite                    3.30.1               ha441bb4_0
tk                        8.6.8                ha441bb4_0
wcwidth                   0.1.8                    pypi_0    pypi
wheel                     0.33.6                   py37_0
xz                        5.2.4                h1de35cc_4
zlib                      1.2.11               h1de35cc_3
@wasade
Copy link
Author

wasade commented Jan 28, 2020

Possible duplicate of #6596 and #6517

@blueyed
Copy link
Contributor

blueyed commented Jan 28, 2020

Yeah, duplicate of #6517.

@blueyed blueyed closed this as completed Jan 28, 2020
@wasade
Copy link
Author

wasade commented Jan 28, 2020

Sounds good -- thanks for the quick follow up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants