--- you can reply above this line ---
New issue 271: IOError when writing --junitxml report when run via xdist,
sometimes
https://bitbucket.org/hpk42/pytest/issue/271/ioerror-when-writing-junitxml-report-when
reuben fletcher-costin:
Hi,
py.test crashed 3 out of 10 times when using py.test -n8 --junitxml report.xml
to run the following trivial test:
```
#!python
def test_foo():
assert True
```
When it crashes, the output looks like this (although sometimes more than 1
node may crash per run):
```
#!text
C:\test_pytest>py.test -n8 --junitxml report.xml
===================================================================== test
session starts ====================
platform win32 -- Python 2.7.3 -- pytest-2.3.4
plugins: cov, xdist
gw0 [0] / gw1 [0] / gw2 [0] / gw3 [0] / gw4 [0] / gw5 [0] / gw6 [0] / gw7 [0]
scheduling tests via LoadScheduling
[gw5] node down: Traceback (most recent call last):
File "C:\Python27\lib\site-packages\execnet\gateway_base.py", line 800, in
executetask
do_exec(co, loc)
File "<string>", line 1, in do_exec
File "", line 139, in <module>
File "C:\Python27\lib\site-packages\_pytest\core.py", line 422, in __call__
return self._docall(methods, kwargs)
File "C:\Python27\lib\site-packages\_pytest\core.py", line 433, in _docall
res = mc.execute()
File "C:\Python27\lib\site-packages\_pytest\core.py", line 351, in execute
res = method(**kwargs)
File "C:\Python27\lib\site-packages\_pytest\main.py", line 107, in
pytest_cmdline_main
return wrap_session(config, _main)
File "C:\Python27\lib\site-packages\_pytest\main.py", line 99, in wrap_session
exitstatus=session.exitstatus or (session._testsfailed and 1))
File "C:\Python27\lib\site-packages\_pytest\core.py", line 422, in __call__
return self._docall(methods, kwargs)
File "C:\Python27\lib\site-packages\_pytest\core.py", line 433, in _docall
res = mc.execute()
File "C:\Python27\lib\site-packages\_pytest\core.py", line 351, in execute
res = method(**kwargs)
File "C:\Python27\lib\site-packages\_pytest\junitxml.py", line 202, in
pytest_sessionfinish
logfile = py.std.codecs.open(self.logfile, 'w', encoding='utf-8')
File "C:\Python27\lib\codecs.py", line 881, in open
file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 22] invalid mode ('wb') or filename:
'C:\\test_pytest\\report.xml'
-------------------------------------------------------- generated xml file:
C:\test_pytest\report.xml -------
====================================================================== in 1.47
seconds ======================
```
These results are from windows 7 professional with python 2.7.3, running on a
machine with four cores:
```
#!text
py.test --version
This is py.test version 2.3.4, imported from
C:\Python27\lib\site-packages\pytest.pyc
setuptools registered plugins:
pytest-cov-1.6 at C:\Python27\lib\site-packages\pytest_cov.pyc
pytest-xdist-1.8 at C:\Python27\lib\site-packages\xdist\plugin.pyc
python --version
Python 2.7.3
>>> import execnet
>>> execnet.__version__
'1.1'
```
My guess: perhaps each node is writing its own copy of the xml report to the
same filename.
--
This is an issue notification from bitbucket.org. You are receiving
this either because you are the owner of the issue, or you are
following the issue.
_______________________________________________
pytest-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pytest-commit