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

1.17 appears buggy #157

Closed
jreback opened this issue Jun 10, 2017 · 6 comments · Fixed by #158
Closed

1.17 appears buggy #157

jreback opened this issue Jun 10, 2017 · 6 comments · Fixed by #158

Comments

@jreback
Copy link

jreback commented Jun 10, 2017

we have been using pytest-xdist quite sucessfully for a while on Travis CI (other CI's). Appears the 1.17 release broke things. Not sure entirely sure why.

here is a snipped (the bottom linked will take you there). I was also able to repro this (locally on macosx).

The command "ci/script_single.sh" exited with 0.
41.85s$ ci/script_multi.sh
[script multi]
PYTHONHASHSEED=4076114954
pytest -n 2 -r xX -m not single --junitxml=/tmp/multiple.xml --skip-slow --skip-network pandas
============================= test session starts ==============================
platform linux -- Python 3.6.1, pytest-3.1.1, py-1.4.33, pluggy-0.4.0
rootdir: /home/travis/build/pandas-dev/pandas, inifile: setup.cfg
plugins: xdist-1.17.0
gw0 [11171] / gw1 [11171]
scheduling tests via LoadScheduling
................................................................................................................................................................................................................................................................................sss...........sINTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/main.py", line 105, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/main.py", line 141, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 745, in __call__
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 334, in <lambda>
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/xdist/dsession.py", line 539, in pytest_runtestloop
INTERNALERROR>     self.loop_once()
INTERNALERROR>     call(**kwargs)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/xdist/dsession.py", line 664, in slave_testreport
INTERNALERROR>     self.sched.mark_test_complete(node, rep.item_index, rep.duration)
INTERNALERROR>   File "/home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages/xdist/dsession.py", line 280, in mark_test_complete
INTERNALERROR>     self.node2pending[node].remove(item_index)
INTERNALERROR> ValueError: list.remove(x): x not in list
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name=0 mode='r' encoding='UTF-8'>
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name=1 mode='w' encoding='UTF-8'>
==================== 283 passed, 4 skipped in 36.29 seconds ====================

successful with 1.16.0

The following NEW packages will be INSTALLED:
    py:     1.4.33-py36_0 conda-forge
    pytest: 3.1.1-py36_0  conda-forge
py-1.4.33-py36 100% || Time: 0:00:00  18.05 MB/s
pytest-3.1.1-p 100% || Time: 0:00:00  20.72 MB/s
real	0m8.518s
user	0m7.392s
sys	0m0.544s
Collecting pytest-xdist
Requirement already satisfied: py>=1.4.22 in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest-xdist)
Requirement already satisfied: pytest>=2.7.0 in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest-xdist)
Collecting execnet>=1.1 (from pytest-xdist)
  Using cached execnet-1.4.1-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest>=2.7.0->pytest-xdist)
Collecting apipkg>=1.4 (from execnet>=1.1->pytest-xdist)
  Using cached apipkg-1.4-py2.py3-none-any.whl
Installing collected packages: apipkg, execnet, pytest-xdist
Successfully installed apipkg-1.4 execnet-1.4.1 pytest-xdist-1.16.0

with 1.17
https://travis-ci.org/pandas-dev/pandas/jobs/241382582

Package plan for installation in environment /home/travis/miniconda3/envs/pandas:
The following NEW packages will be INSTALLED:
    py:     1.4.33-py36_0 conda-forge
    pytest: 3.1.1-py36_0  conda-forge
py-1.4.33-py36 100% || Time: 0:00:00  19.42 MB/s
pytest-3.1.1-p 100% || Time: 0:00:00  22.30 MB/s
real	0m9.853s
user	0m7.700s
sys	0m0.596s
Collecting pytest-xdist
Requirement already satisfied: pytest>=2.7.0 in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest-xdist)
Collecting execnet>=1.1 (from pytest-xdist)
  Using cached execnet-1.4.1-py2.py3-none-any.whl
Requirement already satisfied: py>=1.4.22 in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest-xdist)
Requirement already satisfied: setuptools in /home/travis/miniconda3/envs/pandas/lib/python3.6/site-packages (from pytest>=2.7.0->pytest-xdist)
Collecting apipkg>=1.4 (from execnet>=1.1->pytest-xdist)
  Using cached apipkg-1.4-py2.py3-none-any.whl
Installing collected packages: apipkg, execnet, pytest-xdist
Successfully installed apipkg-1.4 execnet-1.4.1 pytest-xdist-1.17.0
@msarahan
Copy link

@nicoddemus
Copy link
Member

pytest's own test suite also broke: pytest-dev/pytest#2487.

Opened #158 to revert the change and possibly make a new hot-fix release.

@enkore
Copy link

enkore commented Jun 10, 2017

Consider retracting 1.17.0 until a fixed version is available; it seems to break most uses of xdist.

nicoddemus added a commit to nicoddemus/pytest-xdist that referenced this issue Jun 10, 2017
@nicoddemus
Copy link
Member

1.17.1 is out, sorry everyone for the inconvenience.

Consider retracting 1.17.0 until a fixed version is available; it seems to break most uses of xdist.

Sorry @enkore did know about this option, will take a look at it in the future! 👍

@enkore
Copy link

enkore commented Jun 10, 2017

Thanks for resolving it so quickly :)

Retracting releases is often shunned by people ("rolling forward is the only correct way"), and I mostly agree; as a stop-gap measure it can still be useful.

@jreback
Copy link
Author

jreback commented Jun 10, 2017

@nicoddemus thanks for the fast fix!

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

Successfully merging a pull request may close this issue.

4 participants