pytest-dev / pytest-cov Goto Github PK
View Code? Open in Web Editor NEWCoverage plugin for pytest.
License: MIT License
Coverage plugin for pytest.
License: MIT License
I just ran a pip upgrade
on my project which upgraded the coverage package from 3.7.1 to 4.0.0. When I ran py.test --cov
, the output indicated that my test coverage had plummeted from 70% to 30%. A warning was also printed out: Coverage.py warning: Trace function changed, measurement is likely wrong: None
. Downgrading the coverage package back to 3.7.1 fixes the problem. Has anyone else run into this?
@ionelmc Looks like your test_dist_combine_racecondition
has a race condition: https://travis-ci.org/schlamar/pytest-cov/jobs/70355353
as seen in the wild by one of our users when running tests via pants
->pytest
->pytest-cov
(cov_core==1.15.0):
Traceback (most recent call last):
File "/opt/twitter_mde/package/python2.7/current/lib/python2.7/multiprocessing/util.py", line 274, in _run_finalizers
finalizer()
File "/opt/twitter_mde/package/python2.7/current/lib/python2.7/multiprocessing/util.py", line 207, in __call__
res = self._callback(*self._args, **self._kwargs)
File "/Users/$USER/workspace/source/.pants.d/python-setup/chroots/1e3885db69246b4c848a434fedb4b7938a5f4793/.deps/cov_core-1.15.0-py2-none-any.whl/cov_core.py", line 19, in multiprocessing_finish
cov.stop()
AttributeError: 'NoneType' object has no attribute 'stop'
it appears the finalizer at https://github.com/pytest-dev/pytest-cov/blob/master/src/pytest_cov/embed.py#L25 expects the cov
object to always be available at execution time, which is not always the case during interpreter teardown. it's best to guard against this in finalizers and atexit handlers etc - a simple try/catch->pass should suffice.
please consider moving this nice plugin under pytest community-driven pytest-dev
organization
for this just one single email to pytest-dev mailing list is enough
http://pytest.org/latest/contributing.html#id3
cc @ionelmc
This was probably broken by #4, this line should fail: https://github.com/schlamar/cov-core/blob/master/cov_core.py#L162
I have some pygame code that I want to test with py.test. Using "--cov" will alter the output of pygame drawing functions resulting in failed tests.
https://github.com/xaedes/pytest-cov-pygame-bug
readme.md:
Testing this code with "py.test" will pass.
Testing this code with "py.test --cov=." will NOT pass.
The tested code draws an antialiased line using pygame.
It should look like 'image.png'. But using "--cov=." will result in 'image_test.png'
python --version
Python 2.7.11
On my other machine with Python 2.7.6 it won't happen.
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04
Codename: xenial
uname -a
Linux xaedes-vbox 4.3.0-2-generic #11-Ubuntu SMP Fri Dec 4 20:37:48 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
py.test --version
This is pytest version 2.8.5, imported from /usr/local/lib/python2.7/dist-packages/pytest.pyc
setuptools registered plugins:
pytest-cov-2.2.0 at /usr/local/lib/python2.7/dist-packages/pytest_cov/plugin.pyc
pytest-mock-0.9.0 at /usr/local/lib/python2.7/dist-packages/pytest_mock.pyc
python: pygame.version.ver
'1.9.1release'
Please allow turning on branch coverage.
IMO it should be the default too.
I have many test cases that make use of pty.fork()
.
In the child process, cov_core_init.init()
is called and the result saved -- if this value is non-None
, then its .stop()
and .start()
methods are called at the end of the child process. Beginning with cov-core version 1.11, this no longer performs coverage.
Excerpt,
try:
cov = __import__('cov_core_init').init()
except ImportError:
cov = None
(...)
if cov is not None:
cov.stop()
cov.save()
Full code,
https://github.com/jquast/blessed/blob/master/blessed/tests/accessories.py#L53
This was resolved by pinning cov-core==1.10 in tox.ini of project blessed
here on github. If you wish to reproduce, simply unpin and run tox -e py27
in the project folder.
When pinned to 1.10:
Name Stmts Miss Branch BrMiss Cover Missing
----------------------------------------------------------------
blessed/__init__ 5 0 2 0 100%
blessed/formatters 97 0 35 1 99%
blessed/keyboard 52 0 20 0 100%
blessed/sequences 151 0 64 0 100%
blessed/terminal 229 2 75 5 98% 551-552
----------------------------------------------------------------
TOTAL 534 2 196 6 99%
unpinned (1.11):
Name Stmts Miss Branch BrMiss Cover Missing
----------------------------------------------------------------
blessed/__init__ 5 0 2 0 100%
blessed/formatters 97 16 35 8 82% 95-102, 112, 121-126, 292
blessed/keyboard 52 0 20 0 100%
blessed/sequences 151 103 64 57 26% 41-42, 44, 56, 58, 65-67, 106-109, 259-290, 313-317, 326-359, 377-379, 386-388, 395-397, 404-409, 429, 437, 448-469, 489-507, 524-536, 550-563
blessed/terminal 229 166 75 73 21% 131-212, 231-236, 241, 247, 255, 263, 274-275, 283-290, 316-327, 342-346, 352-356, 370-372, 378-380, 386-389, 402, 406, 410, 419-421, 430-432, 441-443, 453, 464, 471, 489-501, 513-515, 534-556, 578-590, 600-612, 647-697
----------------------------------------------------------------
TOTAL 534 285 196 138 42%
Running py.test with coverage and xdist's looponfail option results in the following gnarly traceback:
$ py.test -f --cov . test_foo.py
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2
plugins: cov, xdist
collected 1 items
collected 1 items
test_foo.py .Traceback (most recent call last):
File "/Users/andrew/envs/pytest/bin/py.test", line 9, in <module>
load_entry_point('pytest==2.5.2', 'console_scripts', 'py.test')()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/config.py", line 20, in main
return config.hook.pytest_cmdline_main(config=config)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/xdist/plugin.py", line 58, in pytest_cmdline_main
looponfail_main(config)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/xdist/looponfail.py", line 20, in looponfail_main
remotecontrol.loop_once()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/xdist/looponfail.py", line 87, in loop_once
result = self.runsession()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/xdist/looponfail.py", line 76, in runsession
return self.channel.receive()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/execnet/gateway_base.py", line 701, in receive
raise self._getremoteerror() or EOFError()
execnet.gateway_base.RemoteError: Traceback (most recent call last):
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/execnet/gateway_base.py", line 1033, in executetask
function(channel, **kwargs)
File "<remote exec>", line 21, in init_slave_session
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/xdist/looponfail.py", line 175, in main
self.config.hook.pytest_cmdline_main(config=self.config)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/main.py", line 112, in pytest_cmdline_main
return wrap_session(config, _main)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/main.py", line 105, in wrap_session
exitstatus=session.exitstatus)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/terminal.py", line 332, in pytest_sessionfinish
__multicall__.execute()
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/Users/andrew/envs/pytest/lib/python2.7/site-packages/pytest_cov.py", line 125, in pytest_sessionfinish
self.cov_controller.finish()
AttributeError: 'NoneType' object has no attribute 'finish'
test_foo.py contains a single passing test. pip freeze
shows the following package versions:
cov-core==1.13.0
coverage==3.7.1
execnet==1.2.0
py==1.4.20
pytest==2.5.2
pytest-cov==1.7.0
pytest-xdist==1.10
wsgiref==0.1.2
In my configuration the user running tests doesn't have permission to write to the working directory where the tests are run, so it cannot write the .coverage
file and coverage reporting fails.
PyPi indicates that the data_file
option in .coveragerc
is ignored. Is there another way to change where this file is written? I'd like to write it to /tmp
instead.
This is because pytest-cov
doesn't actually start coverage measurement until pytest_sessionstart
.
I think it could perhaps be fixed by starting coverage measurement instead in pytest_load_initial_conftests
, but a few things about this make me nervous:
If people are setting up their coverage options via some method other than command-line args (e.g. modifying the config in another hook or plugin) it would no longer take effect soon enough.
I'm not familiar with the distributed-coverage aspect of pytest-cov
and cov-core
, so I'm not sure what implications there might be there.
Hi im doing custom packaging for stuff and was wondering where the source for cov-core 1.15.0 which can be found in pypi is?
The upstream cov-core repo only has up to 1.14.0 and some of the forks of cov-core are pointing to this repo as its continued development but im not finding that particular version anywhere.
[edit] I know we can just grab the pypi tarball and use that but I was just curious why it wasnt in the official upstream repo?
i have tests that check if some specific files have been extracted into cwd.
they fail when using pytest-cov because some .coverage* file gets created there.
is there any way to avoid this?
the latest pytest-cov==1.8.1
together with xdist does not show the coverage report anymore.
pytest-cov==1.6
works
# pip freeze | grep pytest
pytest==2.7.1
pytest-cache==1.0
pytest-cov==1.8.1
pytest-pep8==1.0.6
pytest-random==0.2
pytest-xdist==1.12
py.test --cov=core --cov=twitter --cov-append twitter
Traceback (most recent call last):
File "/home/ubuntu/virtualenvs/venv-2.7.8/bin/py.test", line 11, in
sys.exit(main())
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/config.py", line 32, in main
config = _prepareconfig(args, plugins)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/config.py", line 85, in _prepareconfig
pluginmanager=pluginmanager, args=args)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 521, in call
return self._docall(self.methods, kwargs)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 393, in execute
return wrapped_call(method(_args), self.execute)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 109, in wrapped_call
wrap_controller.send(call_outcome)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/helpconfig.py", line 28, in pytest_cmdline_parse
config = outcome.get_result()
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 138, in get_result
py.builtin._reraise(_ex)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 123, in init
self.result = func()
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 394, in execute
res = method(*args)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/config.py", line 636, in pytest_cmdline_parse
self.parse(args)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/config.py", line 746, in parse
self._preparse(args)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/config.py", line 713, in _preparse
self.pluginmanager.consider_setuptools_entrypoints()
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/_pytest/core.py", line 278, in consider_setuptools_entrypoints
plugin = ep.load()
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
if require: self.require(env, installer)
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
working_set.resolve(self.dist.requires(self.extras),env,installer)))
File "/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (webassets 0.10.1 (/home/ubuntu/virtualenvs/venv-2.7.8/lib/python2.7/site-packages), Requirement.parse('webassets==0.10')) py.test --cov=core --cov=twitter --cov-append twitter returned exit code 1
The @pytest.mark.try_last decorator of the pytest_load_initial_conftests hook has no effect, it should contain no underscore (see http://pytest.org/latest/example/markers.html#registering-markers).
But with respect to issue #19 (see also pytest-dev/pytest-django#175 and pytest-dev/pytest-django#186) I would propose to rather decorate the hook with the @pytest.mark.tryfirst decorator, if any.
PKG-INFO and README.rst still refer to init_cov_core.pth
When running under tox subsequent test runs overwrite the previous ones. Therefore it would be very useful to have the option of specifying the location / name of the generated coverage reports.
I cant remember changing anything but recently Pytest with Pytest-cov started creating a lot of file in the working directory in addition to the expected .coverage
file.
.coverage.danijar-xps13-arch.18737.903083
.coverage.danijar-xps13-arch.19190.316378
.coverage.danijar-xps13-arch.19192.651456
.coverage.danijar-xps13-arch.19197.538345
.coverage.danijar-xps13-arch.19199.138180
.coverage.danijar-xps13-arch.19212.482496
.coverage.danijar-xps13-arch.19213.812768
.coverage.danijar-xps13-arch.19301.688885
...
Where do there files come from?
We try to switch from nose to pytest on our projects (thanks to @magopian)
One of the missing feature we have is to fail if the coverage is not 100%.
http://nose.readthedocs.org/en/latest/usage.html#cmdoption--cover-min-percentage
Do you know a pluggin that can allow us to do that?
coverage 3.6 introduced a --fail-under
parameter to exit non-zero if coverage is below a certain threshold. It'd be great if pytest-cov also supported this.
$ virtualenv venv
$ . venv/bin/activate
$ pip install cov-core
$ pip uninstall cov-core
Uninstalling cov-core:
/tmp/venv/lib/python2.7/site-packages/cov_core-1.15.0-py2.7.egg-info
/tmp/venv/lib/python2.7/site-packages/cov_core.py
/tmp/venv/lib/python2.7/site-packages/cov_core.pyc
/tmp/venv/lib/python2.7/site-packages/cov_core_init.py
/tmp/venv/lib/python2.7/site-packages/cov_core_init.pyc
Proceed (y/n)? y
Successfully uninstalled cov-core
$ ls venv/lib/python2.7/site-packages/init_cov_core.pth
venv/lib/python2.7/site-packages/init_cov_core.pth
It seems like files that are not imported/used are not reported as having 0% coverage.
It would be useful if all the files of the project would be in the coverage report - having a percentage of 0% in case they were not imported/used.
I could imagine that pytest-cov would have to hook into py.test's collection process for this, and then somehow make coverage aware of them - even if they are not imported during tests?!
@schlamar I don't know if this could be of any use to anyone and I didn't open a pull request since it'd require small changes to both pytest-cov
and cov-core
repos. I found myself hacking around the coverage reporting behaviour manually all the time (like changing current folder to location of the package to avoid ugly paths) so I wondered if it could be done upstream.
If you run coverage on an installed package (e.g. via pytest --pyargs
), or more generally on a package that's not in your current folder, your coverage report would look super ugly like so:
Name Stmts Miss Cover Missing
------------------------------------------------------
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/__init__ 4 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/api 13 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/arrow 295 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/factory 58 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/formatter 78 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/locales 371 2 99% 1182, 1189
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/parser 172 0 100%
/home/smirnov/anaconda/lib/python2.7/site-packages/arrow/util 7 0 100%
------------------------------------------------------
TOTAL 998 2 99%
The same will go to html/xml reports.
Wouldn't it would be nice to have reports like this instead?
Name Stmts Miss Cover Missing
--------------------------------------------
__init__ 4 0 100%
api 13 0 100%
arrow 295 0 100%
factory 58 0 100%
formatter 78 0 100%
locales 371 2 99% 1182, 1189
parser 172 0 100%
util 7 0 100%
--------------------------------------------
TOTAL 998 2 99%
Would you consider adding something like a --compact-report
option to pytest-cov
which would then pass some flag to CovController.summary()
so it can do something like this before generating reports:
prefix = os.path.commonprefix(cov.data.measured_files())
if prefix:
cov.file_locator.relative_dir = prefix # +9000 nice points for all reports
That's pretty much the entire implementation :)
I could open pull requests to cov-core
and pytest-cov
if you'd want.
Thanks.
I get this exception.
Versions:
pytest==2.5.2
pytest-cov==1.7.0
Python 2.7.3
Please tell me, if you need further information to solve this.
Thank you
Traceback (most recent call last):
File "/localhome/foo_vums_dtg/bin/py.test", line 9, in <module>
load_entry_point('pytest==2.5.2', 'console_scripts', 'py.test')()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/config.py", line 20, in main
return config.hook.pytest_cmdline_main(config=config)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/main.py", line 112, in pytest_cmdline_main
return wrap_session(config, _main)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/main.py", line 105, in wrap_session
exitstatus=session.exitstatus)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/terminal.py", line 338, in pytest_sessionfinish
self.config.hook.pytest_terminal_summary(terminalreporter=self)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 377, in __call__
return self._docall(methods, kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 388, in _docall
res = mc.execute()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/_pytest/core.py", line 289, in execute
res = method(**kwargs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/pytest_cov.py", line 130, in pytest_terminal_summary
self.cov_controller.summary(terminalreporter._tw)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/cov_core.py", line 166, in summary
CovController.summary(self, stream)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/cov_core.py", line 123, in summary
self.cov.html_report(ignore_errors=True)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/control.py", line 662, in html_report
return reporter.report(morfs)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/html.py", line 113, in report
self.report_files(self.html_file, morfs, self.config.html_dir)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/report.py", line 84, in report_files
report_fn(cu, self.coverage._analyze(cu))
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/control.py", line 592, in _analyze
return Analysis(self, it)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/results.py", line 24, in __init__
self.statements, self.excluded = self.parser.parse_source()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/parser.py", line 210, in parse_source
self._raw_parse()
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/parser.py", line 167, in _raw_parse
self.statement_starts.update(self.byte_parser._find_statements())
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/parser.py", line 73, in _get_byte_parser
ByteParser(text=self.text, filename=self.filename)
File "/localhome/foo_vums_dtg/local/lib/python2.7/site-packages/coverage/parser.py", line 354, in __init__
(filename, synerr.msg, synerr.lineno)
TypeError: %d format: a number is required, not NoneType
foo_vums_dtg@berry:~$
coverage==3.7.1
pytest==2.8.0
pytest-cov==2.1.0
I run py.test --cov-report annotate --cov=<module> <py file>
and I get
File "/Users/c17r/.virtualenvs/<project>/lib/python2.7/site-packages/pytest_cov/plugin.py", line 172, in pytest_terminal_summary
assert total is not None, 'Test coverage should never be `None`'
_pytest.assertion.reinterpret.AssertionError: Test coverage should never be `None`
The annotated source is created with <py file>,cover
so it's usable but the stack is big enough (and my window small enough) that I have to keep scrolling up to see test results
if I run --cov-report term-missing
instead then there is no stack trace but, obviously, no annotations
==================================================================== test session starts ====================================================================
platform linux -- Python 3.4.3, pytest-2.8.2, py-1.4.30, pluggy-0.3.1 -- /usr/bin/python3.4
cachedir: .cache
rootdir: /var/tmp/portage/dev-python/pytest-cov-2.2.0/work/pytest-cov-2.2.0, inifile: setup.cfg
plugins: pythonpath-0.7, xdist-1.13.1, capturelog-0.7
collected 52 items
AUTHORS.rst SKIPPED
CHANGELOG.rst SKIPPED
CONTRIBUTING.rst SKIPPED
README.rst SKIPPED
docs/authors.rst SKIPPED
docs/changelog.rst SKIPPED
docs/contributing.rst SKIPPED
docs/index.rst SKIPPED
docs/installation.rst SKIPPED
docs/readme.rst SKIPPED
docs/releasing.rst SKIPPED
tests/test_pytest_cov.py::test_central FAILED
========================================================================= FAILURES ==========================================================================
_______________________________________________________________________ test_central ________________________________________________________________________
/var/tmp/portage/dev-python/pytest-cov-2.2.0/work/pytest-cov-2.2.0/tests/test_pytest_cov.py:152: in test_central
'*10 passed*'
E Failed: remains unmatched: '*- coverage: platform *, python * -*', see stderr
------------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------
running: /usr/bin/python3.4 /usr/lib64/python3.4/site-packages/pytest.py --basetemp=/tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0/runpytest-0 -v --cov=/tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0 --cov-report=term-missing /tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0/test_central.py --basetemp=/tmp/.private/justin/pytest-of-justin/pytest-1/testdir/basetemp
in: /tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0
------------------------------------------------------------------- Captured stderr call --------------------------------------------------------------------
usage: pytest.py [options] [file_or_dir] [file_or_dir] [...]
pytest.py: error: unrecognized arguments: --cov=/tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0 --cov-report=term-missing
inifile: None
rootdir: /tmp/.private/justin/pytest-of-justin/pytest-1/testdir/test_central0
================================================================== pytest-warning summary ===================================================================
WI1 /usr/lib64/python3.4/site-packages/pytest_capturelog.py:171 'pytest_runtest_makereport' hook uses deprecated __multicall__ argument
WC1 /var/tmp/portage/dev-python/pytest-cov-2.2.0/work/pytest-cov-2.2.0/tests/test_pytest_cov.py cannot collect test class 'TestProcess' because it has a __init__ constructor
================================================================== short test summary info ==================================================================
FAIL tests/test_pytest_cov.py::test_central
SKIP [11] /usr/lib64/python3.4/site-packages/_pytest/doctest.py:148: all tests skipped by +SKIP option
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================== 1 failed, 11 skipped, 2 pytest-warnings in 2.17 seconds ==================================================
If I have a package(and pytest-cov) installed in a virtualenv, and I run pytest-cov from the project's root directory(which has the package folder), then no coverage data is collected.
A coworker of mine was shocked that the built-in pytest doctest support module didn't integrate with pytest-cov. He wrote a shim to get things working. I was shocked too: I am pretty sure things already work, if you use the arguments in the right combination.
Seems like the gist is just to make sure you have "--doctest-modules" and "--cov" arguments, in your command (or config file).
like ...
py.test foo --cov=foo --doctest-modules
(EDIT -- my previous command example WORKED but it was misleading as to what was going on. command should now be more clear.*)
I think he was forgetting --cov
argument and confusing himself. A hint in the docs might help folks avoid this blunder going forward.
So maybe it would be good to just include a usage example like the above, in some docs somewhere. When you look for "doctest" in the pytest-cov docs you don't find anything. Maybe this little FAQ or footnote should be stuffed somewhere, so that searching the pytest-cov docs for "doctest" brings up a hint.
Happy to make a PR... just unclear where to stick this.
A thing that really bugs me is that I can't pip install https://github.com/schlamar/pytest-cov/archive/2.0.zip
. This is quite inconvenient for development where I have to use requirement files (most always).
Having that in mind having two repos for the whole shebang wasn't that bad ....
What do you think about this?
I am migrating test to py.test + coverage.
previously we ran the tests with coverage run -a manage.py test sms
to append the coverage of all tests. pytest-cov does always erase the .coverage file.
I'd like an option --cov-append that will combine the coverage of all test results
As I documented over in astropy/astropy-helpers#193, if I specify a relative path to a coveragerc file with the --cov-config
option, and then one of my tests changes to a different directory and starts a subprocess, then an exception occurs during processing of the pytest-cov.pth file:
Traceback (most recent call last):
File "/home/embray/miniconda/envs/test/lib/python2.6/site.py", line 525, in <module>
main()
File "/home/embray/miniconda/envs/test/lib/python2.6/site.py", line 508, in main
known_paths = addsitepackages(known_paths)
File "/home/embray/miniconda/envs/test/lib/python2.6/site.py", line 288, in addsitepackages
addsitedir(sitedir, known_paths)
File "home/embray/miniconda/envs/test/lib/python2.6/site.py", line 185, in addsitedir
addpackage(sitedir, name, known_paths)
File "/home/embray/miniconda/envs/test/lib/python2.6/site.py", line 155, in addpackage
exec line
File "<string>", line 1, in <module>
File "<string>", line 4, in <module>
File "/home/embray/miniconda/envs/test/lib/python2.6/site-packages/pytest_cov/embed.py", line 58, in init
auto_data=True)
File "/home/embray/miniconda/envs/test/lib/python2.6/site-packages/coverage/control.py", line 138, in __init__
"Couldn't read '%s' as a config file" % config_file
coverage.misc.CoverageException: Couldn't read 'astropy_helpers/tests/coveragerc' as a config file
This is because the relative path is written into the COV_CORE_CONFIG
environment variable. So after changing directories that file cannot be found and we get a crash upon trying to process it.
On most Python versions this exception is ignored in site.py (so the coverage feature is still broken, but otherwise the tests pass). On Python 2.6, however, the exception is not ignored and the tests fail too.
A simple workaround would be to always store the path to the config file as an absolute path.
Starting to run tests in the Fedora package of pytest-cov and getting the following error:
+ PYTHONPATH=/builddir/build/BUILDROOT/python-pytest-cov-2.1.0-1.fc24.x86_64/usr/lib/python2.7/site-packages:/builddir/build/BUILD/pytest-cov-2.1.0/tests
+ py.test-2.7 -vv
============================= test session starts ==============================
platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 -- /usr/bin/python2
rootdir: /builddir/build/BUILD/pytest-cov-2.1.0, inifile: setup.cfg
plugins: cov
collecting ... collected 48 items
AUTHORS.rst PASSED
CHANGELOG.rst PASSED
CONTRIBUTING.rst PASSED
README.rst PASSED
docs/authors.rst PASSED
docs/changelog.rst PASSED
docs/contributing.rst PASSED
docs/index.rst PASSED
docs/installation.rst PASSED
docs/readme.rst PASSED
docs/releasing.rst PASSED
tests/test_pytest_cov.py::test_central PASSED
tests/test_pytest_cov.py::test_cov_min_100 PASSED
tests/test_pytest_cov.py::test_cov_min_50 PASSED
tests/test_pytest_cov.py::test_cov_min_no_report PASSED
tests/test_pytest_cov.py::test_central_nonspecific PASSED
tests/test_pytest_cov.py::test_cov_min_from_coveragerc PASSED
tests/test_pytest_cov.py::test_central_coveragerc PASSED
tests/test_pytest_cov.py::test_show_missing_coveragerc PASSED
tests/test_pytest_cov.py::test_no_cov_on_fail SKIPPED
tests/test_pytest_cov.py::test_dist_combine_racecondition SKIPPED
tests/test_pytest_cov.py::test_dist_collocated SKIPPED
tests/test_pytest_cov.py::test_dist_not_collocated SKIPPED
tests/test_pytest_cov.py::test_central_subprocess FAILED
tests/test_pytest_cov.py::test_central_subprocess_no_subscript PASSED
tests/test_pytest_cov.py::test_dist_subprocess_collocated SKIPPED
tests/test_pytest_cov.py::test_dist_subprocess_not_collocated SKIPPED
tests/test_pytest_cov.py::test_empty_report PASSED
tests/test_pytest_cov.py::test_dist_missing_data SKIPPED
tests/test_pytest_cov.py::test_funcarg PASSED
tests/test_pytest_cov.py::test_funcarg_not_active PASSED
tests/test_pytest_cov.py::test_multiprocessing_subprocess PASSED
tests/test_pytest_cov.py::test_cover_conftest PASSED
tests/test_pytest_cov.py::test_cover_looponfail SKIPPED
tests/test_pytest_cov.py::test_cover_conftest_dist SKIPPED
tests/test_pytest_cov.py::test_coveragerc PASSED
tests/test_pytest_cov.py::test_coveragerc_dist SKIPPED
tests/test_pytest_cov.py::test_clear_environ PASSED
tests/test_pytest_cov.py::test_dist_boxed SKIPPED
tests/test_pytest_cov.py::test_not_started_plugin_does_not_fail PASSED
tests/test_pytest_cov.py::test_default_output_setting PASSED
tests/test_pytest_cov.py::test_disabled_output PASSED
tests/test_pytest_cov.py::test_coverage_file PASSED
tests/test_pytest_cov.py::test_external_data_file PASSED
tests/test_pytest_cov.py::test_external_data_file_xdist SKIPPED
tests/test_pytest_cov.py::test_external_data_file_negative PASSED
tests/test_pytest_cov.py::test_append_coverage[nodist] PASSED
tests/test_pytest_cov.py::test_do_not_append_coverage[nodist] PASSED
=================================== FAILURES ===================================
___________________________ test_central_subprocess ____________________________
/builddir/build/BUILD/pytest-cov-2.1.0/tests/test_pytest_cov.py:364: in test_central_subprocess
'parent_script* %s *' % PARENT_SCRIPT_RESULT,
E Failed: remains unmatched: 'child_script* 6 * 100% *', see stderr
----------------------------- Captured stdout call -----------------------------
running ['/usr/bin/python2', '/usr/lib/python2.7/site-packages/pytest.py', '--basetemp=/tmp/pytest-10/testdir/test_central_subprocess0/runpytest-0', '-v', '--cov=/tmp/pytest-10/testdir/test_central_subprocess0', '--cov-report=term-missing', '/tmp/pytest-10/testdir/test_central_subprocess0/parent_script.py'] curdir= /tmp/pytest-10/testdir/test_central_subprocess0
============================= test session starts ==============================
platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 -- /usr/bin/python2
rootdir: /tmp/pytest-10/testdir/test_central_subprocess0, inifile:
plugins: cov
collecting ... collected 2 items
parent_script.py::test_foo[0] PASSED
parent_script.py::test_foo[1] PASSED
--------------- coverage: platform linux2, python 2.7.10-final-0 ---------------
Name Stmts Miss Cover Missing
------------------------------------------------
child_script.py 6 6 0% 1-8
parent_script.py 8 0 100%
------------------------------------------------
TOTAL 14 6 57%
=========================== 2 passed in 0.04 seconds ===========================
----------------------------- Captured stderr call -----------------------------
nomatch: '*- coverage: platform *, python * -*'
and: u'============================= test session starts =============================='
and: u'platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 -- /usr/bin/python2'
and: u'rootdir: /tmp/pytest-10/testdir/test_central_subprocess0, inifile: '
and: u'plugins: cov'
and: u'collecting ... collected 2 items'
and: u''
and: u'parent_script.py::test_foo[0] PASSED'
and: u'parent_script.py::test_foo[1] PASSED'
fnmatch: '*- coverage: platform *, python * -*'
with: u'--------------- coverage: platform linux2, python 2.7.10-final-0 ---------------'
nomatch: 'child_script* 6 * 100% *'
and: u'Name Stmts Miss Cover Missing'
and: u'------------------------------------------------'
and: u'child_script.py 6 6 0% 1-8'
and: u'parent_script.py 8 0 100% '
and: u'------------------------------------------------'
and: u'TOTAL 14 6 57% '
and: u''
and: u'=========================== 2 passed in 0.04 seconds ==========================='
=========================== short test summary info ============================
FAIL tests/test_pytest_cov.py::test_central_subprocess
SKIP [1] tests/test_pytest_cov.py:460: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:392: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:306: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:265: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:759: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:279: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:586: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:636: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:326: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:567: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:414: condition: not HAS_XDIST
SKIP [1] tests/test_pytest_cov.py:683: condition: sys.platform == "win32" or not HAS_XDIST
========= 1 failed, 35 passed, 12 skipped, 1 warnings in 9.02 seconds ==========
This is with python-coverage 4.0b3, so the coverage issue this is testing I believe should be fixed so not sure what is up.
I think that this problem was also reported by others, like on http://stackoverflow.com/questions/18573542/coverage-py-does-not-cover-script-if-py-test-executes-it-from-another-directory
Please take a look at https://github.com/pycontribs/jira -- running it with "python setup.py test" will also use coverage but it seems that the coverage data is not properly stored or retried.
It is quite confusing because when I run coveralls after running the tests, I do get a report, but when I try to export the coverage data I get the "No data to report" exception. You do not have to run it on your machine as you can also see the results on Travis CI.
I hope you can help me solve this issue, as having coverage integrated with pytest is something really useful. I do need to generate a coverage.xml file so I can use it in PyCharm IDE.
I get an error when running pytest-cov together with pytest-xdist: py.test --cov pkg -f
The error is just
Error in sys.exitfunc:
$ pip freeze | grep pytest
pytest==2.6.4
pytest-cov==1.8.1
pytest-xdist==1.11
Everything works as expected in pytest-cov==1.6
In pytest-cov==1.7.0
the exception is more explicit:
Traceback (most recent call last):
File "/home/olli/.virtualenvs/ftr/bin/py.test", line 9, in <module>
load_entry_point('pytest==2.6.4', 'console_scripts', 'py.test')()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/config.py", line 41, in main
return config.hook.pytest_cmdline_main(config=config)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 413, in __call__
return self._docall(methods, kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 424, in _docall
res = mc.execute()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 315, in execute
res = method(**kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/xdist/plugin.py", line 58, in pytest_cmdline_main
looponfail_main(config)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/xdist/looponfail.py", line 20, in looponfail_main
remotecontrol.loop_once()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/xdist/looponfail.py", line 87, in loop_once
result = self.runsession()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/xdist/looponfail.py", line 76, in runsession
return self.channel.receive()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/execnet/gateway_base.py", line 711, in receive
raise self._getremoteerror() or EOFError()
execnet.gateway_base.RemoteError: Traceback (most recent call last):
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/execnet/gateway_base.py", line 1043, in executetask
function(channel, **kwargs)
File "<remote exec>", line 20, in init_slave_session
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/xdist/looponfail.py", line 174, in main
self.config.hook.pytest_cmdline_main(config=self.config)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 413, in __call__
return self._docall(methods, kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 424, in _docall
res = mc.execute()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 315, in execute
res = method(**kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/main.py", line 116, in pytest_cmdline_main
return wrap_session(config, _main)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/main.py", line 109, in wrap_session
exitstatus=session.exitstatus)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 413, in __call__
return self._docall(methods, kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 424, in _docall
res = mc.execute()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 315, in execute
res = method(**kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/terminal.py", line 349, in pytest_sessionfinish
__multicall__.execute()
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/_pytest/core.py", line 315, in execute
res = method(**kwargs)
File "/home/olli/.virtualenvs/ftr/local/lib/python2.7/site-packages/pytest_cov.py", line 125, in pytest_sessionfinish
self.cov_controller.finish()
AttributeError: 'NoneType' object has no attribute 'finish'
Error in sys.exitfunc:
Hey,
It looks like pytest-cov 2.1.0 is not compatible with pytest 2.8.0 (released a couple days ago): every other test fails. It works fine with pytest 2.7.0 or with pytest-cov plugin disabled.
py27 runtests: commands[0] | py.test --cov=scrapy --cov-report= tests/test_utils_python.py
============================================================= test session starts =============================================================
platform darwin -- Python 2.7.6, pytest-2.8.0, py-1.4.30, pluggy-0.3.1
rootdir: /Users/kmike/svn/scrapy, inifile: pytest.ini
plugins: cov-2.1.0
collected 21 items
tests/test_utils_python.py .E.E.E.E.EE.E.E.E.EE.E.E.E.EE.E.E.E.E.ETraceback (most recent call last):
File ".tox/py27/bin/py.test", line 11, in <module>
sys.exit(main())
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/config.py", line 48, in main
return config.hook.pytest_cmdline_main(config=config)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
_MultiCall(methods, kwargs, hook.spec_opts).execute()
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
res = hook_impl.function(*args)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/main.py", line 115, in pytest_cmdline_main
return wrap_session(config, _main)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/main.py", line 110, in wrap_session
exitstatus=session.exitstatus)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
_MultiCall(methods, kwargs, hook.spec_opts).execute()
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 595, in execute
return _wrapped_call(hook_impl.function(*args), self.execute)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 247, in _wrapped_call
call_outcome = _CallOutcome(func)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/terminal.py", line 360, in pytest_sessionfinish
outcome = yield
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 279, in get_result
_reraise(*ex) # noqa
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 264, in __init__
self.result = func()
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
res = hook_impl.function(*args)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/runner.py", line 55, in pytest_sessionfinish
session._setupstate.teardown_all()
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/runner.py", line 375, in teardown_all
self._pop_and_teardown()
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/runner.py", line 348, in _pop_and_teardown
self._teardown_with_finalization(colitem)
File "/Users/kmike/svn/scrapy/.tox/py27/lib/python2.7/site-packages/_pytest/runner.py", line 371, in _teardown_with_finalization
or isinstance(colitem, tuple)
AssertionError
ERROR: InvocationError: '/Users/kmike/svn/scrapy/.tox/py27/bin/py.test --cov=scrapy --cov-report= tests/test_utils_python.py'
I get failures like this:
[gw0] node down: Traceback (most recent call last):
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/execnet/gateway_base.py", line 1039, in executetask
do_exec(co, loc) # noqa
File "<string>", line 1, in do_exec
File "<remote exec>", line 147, in <module>
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 521, in __call__
return self._docall(self.methods, kwargs)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 394, in execute
res = method(*args)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/main.py", line 116, in pytest_cmdline_main
return wrap_session(config, _main)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/main.py", line 109, in wrap_session
exitstatus=session.exitstatus)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 521, in __call__
return self._docall(self.methods, kwargs)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/_pytest/core.py", line 394, in execute
res = method(*args)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/pytest_cover/plugin.py", line 149, in pytest_sessionfinish
self.cov_controller.finish()
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/pytest_cover/engine.py", line 217, in finish
self.cov.combine()
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/coverage/control.py", line 510, in combine
self.data.combine_parallel_data(aliases=aliases)
File "/home/ionel/foobar/.ve/lib/python2.7/site-packages/coverage/data.py", line 202, in combine_parallel_data
os.remove(full_path)
OSError: [Errno 2] No such file or directory: '/home/ionel/foobar/.coverage.minibox.18470.571227'
It's cause by all the workers trying to combine the coverage files.
I'm going to have PR for this shortly.
The multiprocessing test here:
makes an assumption that any multiprocessing being used will start and end with the parent. However, this is not the case in, for example, flask-testing.
https://github.com/jarus/flask-testing/blob/master/flask_testing/utils.py#L353
In the LiveServerTestCase, it uses multiprocessing.Process to run the server in the background and the user is given the main process to run Selenium tests. The flask server is stopped and started for every test. This is probably unnecessary, but regardless, a new server is started multiple times during testing, this results in multiple calls to the multiprocessing hook here:
which then calls cov_core_init.init() which subsequently calls cov.erase():
which destroys coverage data mid-test.
So, if I start and stop multiple background processes during tests, cov_core erases all that coverage data, and I don't have an easy way of making it stop. I would prefer to run my tests with the parallel = True
option set in .coveragerc, not have my coverage data erased when a forked process ends, run coverage combine
manually and also run coverage erase
manually.
This is useful if you have multiple test runs, e.g. with tox, and want to combine the results at the end of all runs.
Point everything to https://github.com/pytest-dev/pytest-cov
Not important though, as redirection works.
Initially I assumed that is a bug in Coveralls but it seems that I managed to discover a strange bug which makes coverage tool to improperly mark functions or comments as not covered.
Please take a look at http://stackoverflow.com/questions/28024496/why-coveralls-does-report-the-function-or-methods-as-not-covered-when-body-is-co?noredirect=1#comment44434661_28024496 and https://coveralls.io/files/431523503#L433
The project is tested from Travis CI and the coverage parameters are loaded at runtime, see https://github.com/pycontribs/jira/blob/master/setup.py#L47
So to run it with coverage you only have to do: python setup.py test
Why is does behave like this and how to solve the problem? Thanks.
I don't know how feasible this is, but it'd be nice to have a mark and/or contextmanager-fixture to turn coverage collection off:
@pytest.mark.coverage_disabled
def test_foo():
# do some integration test or whatever
pass
def test_bar(coverage):
with coverage.disabled():
pass
I have not looked to deep, but only found this:
src/pytest_cov/engine.py
108: stream.write('Coverage XML written to file %s\n' % self.cov.config.xml_output)
Therefore it appears that the output path can only be configured through the .coveragerc
file.
It would be nice if this could be passed in through an option to pytest-cov, e.g. --cov-xml-output=coverage2.xml
.
I tried simply adding it, but there are failures that I don't understand.
$ tox -e pypy3
pypy3 create: /Users/buck/trees/mine/pytest-cov/.tox/pypy3
pypy3 installdeps: git+git://github.com/bukzor/cov-core.git, pytest, pytest-xdist, virtualenv
pypy3 develop-inst: /Users/buck/trees/mine/pytest-cov
pypy3 runtests: PYTHONHASHSEED='random'
pypy3 runtests: commands[0] | py.test -v test_pytest_cov.py
===================================================================================== test session starts =====================================================================================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: cov, xdist
collected 21 items
test_pytest_cov.py::test_central FAILED
test_pytest_cov.py::test_central_nonspecific FAILED
test_pytest_cov.py::test_central_coveragerc FAILED
test_pytest_cov.py::test_no_cov_on_fail PASSED
test_pytest_cov.py::test_dist_collocated FAILED
test_pytest_cov.py::test_dist_not_collocated FAILED
test_pytest_cov.py::test_central_subprocess PASSED
test_pytest_cov.py::test_dist_subprocess_collocated PASSED
test_pytest_cov.py::test_dist_subprocess_not_collocated PASSED
test_pytest_cov.py::test_empty_report PASSED
test_pytest_cov.py::test_dist_missing_data PASSED
test_pytest_cov.py::test_funcarg PASSED
test_pytest_cov.py::test_funcarg_not_active PASSED
test_pytest_cov.py::test_multiprocessing_subprocess PASSED
test_pytest_cov.py::test_cover_conftest PASSED
test_pytest_cov.py::test_cover_conftest_dist PASSED
test_pytest_cov.py::test_coveragerc PASSED
test_pytest_cov.py::test_coveragerc_dist PASSED
test_pytest_cov.py::test_clear_environ PASSED
test_pytest_cov.py::test_dist_boxed PASSED
test_pytest_cov.py::test_not_started_plugin_does_not_fail PASSED
========================================================================================== FAILURES ===========================================================================================
________________________________________________________________________________________ test_central _________________________________________________________________________________________
testdir = <TmpTestdir local('/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central0')>
def test_central(testdir):
script = testdir.makepyfile(SCRIPT)
result = testdir.runpytest('-v',
'--cov=%s' % script.dirpath(),
'--cov-report=term-missing',
script)
result.stdout.fnmatch_lines([
'*- coverage: platform *, python * -*',
'test_central * %s *' % SCRIPT_RESULT,
> '*10 passed*'
])
E Failed: remains unmatched: 'test_central * 8 * 88% *', see stderr
/Users/buck/trees/mine/pytest-cov/test_pytest_cov.py:110: Failed
------------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------------
running ['/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3', '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pytest.py', '--basetemp=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central0/runpytest-0', '-v', '--cov=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central0', '--cov-report=term-missing', '/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central0/test_central.py'] curdir= /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central0
============================= test session starts ==============================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: xdist, cov
collecting ... collected 10 items
test_central.py::test_foo[0] PASSED
test_central.py::test_foo[1] PASSED
test_central.py::test_foo[2] PASSED
test_central.py::test_foo[3] PASSED
test_central.py::test_foo[4] PASSED
test_central.py::test_foo[5] PASSED
test_central.py::test_foo[6] PASSED
test_central.py::test_foo[7] PASSED
test_central.py::test_foo[8] PASSED
test_central.py::test_foo[9] PASSED
--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------
Name Stmts Miss Cover Missing
--------------------------------------------
test_central 8 2 75% 8, 10
========================== 10 passed in 0.42 seconds ===========================
------------------------------------------------------------------------------------ Captured stderr call -------------------------------------------------------------------------------------
nomatch: '*- coverage: platform *, python * -*'
and: '============================= test session starts =============================='
and: 'platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3'
and: 'plugins: xdist, cov'
and: 'collecting ... collected 10 items'
and: ''
and: 'test_central.py::test_foo[0] PASSED'
and: 'test_central.py::test_foo[1] PASSED'
and: 'test_central.py::test_foo[2] PASSED'
and: 'test_central.py::test_foo[3] PASSED'
and: 'test_central.py::test_foo[4] PASSED'
and: 'test_central.py::test_foo[5] PASSED'
and: 'test_central.py::test_foo[6] PASSED'
and: 'test_central.py::test_foo[7] PASSED'
and: 'test_central.py::test_foo[8] PASSED'
and: 'test_central.py::test_foo[9] PASSED'
fnmatch: '*- coverage: platform *, python * -*'
with: '--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------'
nomatch: 'test_central * 8 * 88% *'
and: 'Name Stmts Miss Cover Missing'
and: '--------------------------------------------'
and: 'test_central 8 2 75% 8, 10'
and: ''
and: '========================== 10 passed in 0.42 seconds ==========================='
__________________________________________________________________________________ test_central_nonspecific ___________________________________________________________________________________
testdir = <TmpTestdir local('/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_nonspecific0')>
def test_central_nonspecific(testdir):
script = testdir.makepyfile(SCRIPT)
result = testdir.runpytest('-v',
'--cov-enabled',
'--cov-report=term-missing',
script)
result.stdout.fnmatch_lines([
'*- coverage: platform *, python * -*',
'test_central_nonspecific * %s *' % SCRIPT_RESULT,
> '*10 passed*'
])
E Failed: remains unmatched: 'test_central_nonspecific * 8 * 88% *', see stderr
/Users/buck/trees/mine/pytest-cov/test_pytest_cov.py:126: Failed
------------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------------
running ['/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3', '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pytest.py', '--basetemp=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_nonspecific0/runpytest-0', '-v', '--cov-enabled', '--cov-report=term-missing', '/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_nonspecific0/test_central_nonspecific.py'] curdir= /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_nonspecific0
============================= test session starts ==============================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: xdist, cov
collecting ... collected 10 items
test_central_nonspecific.py::test_foo[0] PASSED
test_central_nonspecific.py::test_foo[1] PASSED
test_central_nonspecific.py::test_foo[2] PASSED
test_central_nonspecific.py::test_foo[3] PASSED
test_central_nonspecific.py::test_foo[4] PASSED
test_central_nonspecific.py::test_foo[5] PASSED
test_central_nonspecific.py::test_foo[6] PASSED
test_central_nonspecific.py::test_foo[7] PASSED
test_central_nonspecific.py::test_foo[8] PASSED
test_central_nonspecific.py::test_foo[9] PASSED
--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------
Name Stmts Miss Cover Missing
-------------------------------------------------------------------------------------------------------------------------
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/_argcomplete 35 34 3% 2-101, 104
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/__init__ 78 44 44% 4-39, 44, 47, 51-52, 58, 75-81, 90, 112-124, 128, 132-138, 146, 152-165
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/newinterpret 255 182 29% 16-29, 34, 53-54, 59-61, 67-69, 121-122, 125-134, 140, 153-155, 158, 161-188, 191-200, 203-211, 214-226, 229-270, 273-279, 282-319, 329, 332-345
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/reinterpret 36 13 64% 14-21, 31-32, 35-36, 42, 52
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/rewrite 480 249 48% 22-30, 62-64, 68-69, 74-77, 80-82, 88-97, 114-129, 140, 144, 160-162, 168-175, 187-188, 203-209, 231-232, 245-261, 265, 268-271, 275-279, 287, 304-325, 344-349, 366-379, 382, 385, 388-399, 504, 515-520, 525, 554-556, 560-562, 617, 627-629, 653-654, 666, 670-673, 690-722, 725-728, 731-736, 739-764, 767-774, 777-806
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/util 190 170 11% 2-20, 36, 47-62, 66, 76-79, 83, 96-113, 119-284
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/capture 311 255 18% 5-86, 89, 97, 100-103, 106-108, 118, 120, 123, 129, 137, 143-151, 156-240, 244-272, 278-281, 287-302, 307-349, 354-359, 362-371, 375, 379-413, 416, 419-447
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/config 603 494 18% 2-103, 111-169, 175, 191, 197-308, 311, 328-402, 407, 411-415, 418-477, 495, 501-503, 507-511, 518, 521-522, 526-601, 609-610, 615, 620-684, 691, 693-755, 763, 774, 777-778, 785, 787-815, 828, 830-838, 842-846, 849-886
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/core 341 217 36% 4-19, 22-40, 42-43, 49-60, 63, 65-67, 70-89, 91, 94, 107-126, 128, 131-136, 139-144, 147, 149, 157-204, 207-234, 263, 268-288, 294-298, 310, 329-333, 343, 356-360, 363, 368-369, 372-373, 376-411, 415, 419
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/doctest 92 89 3% 2-19, 23-126
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/genscript 78 76 3% 2-68, 71-127
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/helpconfig 133 102 23% 2-48, 50-57, 59-108, 111-116, 119-126, 134, 142-144, 151, 153-155, 165-170, 174-180, 184, 191-192
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/junitxml 134 132 1% 5-63, 67-219
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/main 501 289 42% 2-68, 71-73, 85-99, 102, 110-115, 118, 124, 127, 129, 144, 147-157, 161, 170-171, 175-178, 183, 191, 194-197, 203, 206-217, 244, 253-260, 263, 268-287, 296, 299, 302, 305, 308, 312, 314, 317-322, 326, 337-369, 372-380, 388-437, 441-450, 461, 466, 469-478, 482, 484-489, 506-514, 524, 526-528, 530-537, 540, 543, 553, 570-575, 577, 584, 592-595, 599, 603-607, 613, 616-617, 620-656, 660, 665-669, 673, 681, 684, 687-711
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/mark 155 148 5% 2-40, 42-54, 59-152, 155-299
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/monkeypatch 113 102 10% 3-70, 75, 93-98, 102, 106, 110-206
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/nose 42 28 33% 3-19, 22-27, 31-36, 43, 52, 54-57, 64, 70-71
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/pastebin 56 53 5% 2-16, 20-67
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/pdb 75 69 8% 2-19, 21, 25, 30-105
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/python 1284 921 28% 2-18, 21, 23, 28-110, 113-134, 136-140, 145-148, 164, 167-186, 190, 195, 198, 202-206, 210, 213, 216, 220-222, 228-231, 234, 238, 241-252, 258, 260-266, 273, 280, 287-290, 295-298, 305-307, 312-317, 319, 337, 342, 347, 359, 364, 375, 385-432, 437, 445-453, 456, 460, 464-469, 483, 491-494, 502-548, 551, 553-554, 558-559, 565, 568-648, 652-665, 670-673, 685-710, 714-726, 728, 733-734, 736-749, 760-840, 858-860, 864, 869, 876-1067, 1076, 1079, 1092, 1095, 1103, 1106-1123, 1126, 1130, 1137-1138, 1144-1170, 1184-1284, 1288-1564, 1576, 1585, 1590, 1594, 1605, 1607, 1618-1622, 1626, 1632, 1638-1641, 1648, 1660-1661, 1668-1673, 1676, 1678-1687, 1691, 1698, 1716, 1725, 1734, 1736-1789, 1806-1881, 1886, 1890-1891, 1897, 1905, 1912, 1915, 1928-1933, 1939-1960, 1963, 1969-1970, 1976-1987, 1992, 1997-2015
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/resultlog 80 78 2% 5-13, 17-100
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/runner 321 209 35% 2-52, 54-61, 68, 71, 85, 88, 91, 94, 98, 100, 108, 115, 118, 124, 129-133, 140-144, 147-184, 190, 194, 204-216, 219, 224-228, 260-272, 278-289, 296-297, 306-322, 326, 336, 340, 347-351, 353-355, 360-370, 374, 380, 389, 394-398, 404, 412-494
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/skipping 212 187 12% 2-15, 17-22, 41-54, 58, 62, 64-75, 78-102, 104-122, 125-138, 142, 146, 149, 153-156, 159-164, 170-196, 198-295
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/terminal 408 289 29% 5-39, 44-49, 53-61, 64-66, 69, 72-77, 80-89, 100, 103, 105, 110-123, 132, 134-137, 140, 142, 146-150, 154-171, 173-182, 189-192, 202-205, 208, 212-215, 221-228, 232, 234, 236, 241-243, 245, 252, 255, 257, 259-261, 265, 268, 272, 290, 301, 303-309, 311-348, 350-379, 382, 390, 393-519, 523
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/tmpdir 47 40 15% 2-10, 14-54, 61-75
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/unittest 142 136 4% 2-14, 18, 22-143, 146-154, 156-185
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/cov_core 148 140 5% 3-48, 52, 56, 63-133, 138-272
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pkg_resources 1495 1494 1% 17-213, 222-2843
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_apipkg 138 109 21% 8-47, 58-110, 115-116, 122, 129-130, 133-153, 161-169, 173-181
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_builtin 188 176 6% 1-122, 124-127, 129, 132-134, 137-144, 147-238, 248
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_code/code 523 498 5% 1-16, 23-24, 27-33, 42, 45, 53-77, 84-91, 102-111, 116, 119-772, 776-786
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_code/source 294 154 48% 11-13, 26-43, 46-51, 55, 58, 73-80, 86-91, 97-99, 113, 134-153, 165-203, 216-222, 231-244, 258-261, 267-273, 284, 286, 313-315, 365, 368-370, 377, 384, 396-421
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_error 50 45 10% 5-41, 44-60, 65-88
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_io/saferepr 49 28 43% 17-30, 39-50, 54-56
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_io/terminalwriter 231 159 31% 16-23, 29-30, 37, 43-44, 51-101, 105, 107, 122-125, 128, 130, 138-141, 144-150, 162, 174, 186, 188, 199-204, 209, 213-239, 243-244, 247-249, 252, 256-317, 327-340
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_path/common 241 196 19% 3-92, 95-97, 100-102, 105-107, 110-112, 118-129, 134-210, 215, 223-225, 230-234, 242, 245, 249, 257-269, 285, 292, 296-392
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_path/local 627 508 19% 4-23, 26, 30-139, 155, 158-161, 164, 168-172, 175, 178-184, 189, 192-238, 251-252, 257-267, 270, 278, 305, 308, 323, 328-329, 335, 341, 343, 346-354, 362-510, 514-538, 542-543, 548-570, 574, 587, 589-590, 593-597, 603-615, 622, 628-636, 645, 649, 651, 653-654, 658-659, 661, 664-901, 904
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_std 11 5 55% 12-16
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_xmlgen 170 168 1% 7-23, 26-253
/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/xdist/plugin 85 73 14% 1-54, 57-61, 64-70, 72-73, 75, 80-81, 83-87, 89-131
/Users/buck/trees/mine/pytest-cov/pytest_cov 80 68 15% 3-39, 42-54, 59-114, 119-139, 145-152, 156-158, 160-174
test_central_nonspecific 8 2 75% 8, 10
-------------------------------------------------------------------------------------------------------------------------
TOTAL 10540 8429 20%
========================== 10 passed in 4.44 seconds ===========================
------------------------------------------------------------------------------------ Captured stderr call -------------------------------------------------------------------------------------
nomatch: '*- coverage: platform *, python * -*'
and: '============================= test session starts =============================='
and: 'platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3'
and: 'plugins: xdist, cov'
and: 'collecting ... collected 10 items'
and: ''
and: 'test_central_nonspecific.py::test_foo[0] PASSED'
and: 'test_central_nonspecific.py::test_foo[1] PASSED'
and: 'test_central_nonspecific.py::test_foo[2] PASSED'
and: 'test_central_nonspecific.py::test_foo[3] PASSED'
and: 'test_central_nonspecific.py::test_foo[4] PASSED'
and: 'test_central_nonspecific.py::test_foo[5] PASSED'
and: 'test_central_nonspecific.py::test_foo[6] PASSED'
and: 'test_central_nonspecific.py::test_foo[7] PASSED'
and: 'test_central_nonspecific.py::test_foo[8] PASSED'
and: 'test_central_nonspecific.py::test_foo[9] PASSED'
fnmatch: '*- coverage: platform *, python * -*'
with: '--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------'
nomatch: 'test_central_nonspecific * 8 * 88% *'
and: 'Name Stmts Miss Cover Missing'
and: '-------------------------------------------------------------------------------------------------------------------------'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/_argcomplete 35 34 3% 2-101, 104'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/__init__ 78 44 44% 4-39, 44, 47, 51-52, 58, 75-81, 90, 112-124, 128, 132-138, 146, 152-165'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/newinterpret 255 182 29% 16-29, 34, 53-54, 59-61, 67-69, 121-122, 125-134, 140, 153-155, 158, 161-188, 191-200, 203-211, 214-226, 229-270, 273-279, 282-319, 329, 332-345'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/reinterpret 36 13 64% 14-21, 31-32, 35-36, 42, 52'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/rewrite 480 249 48% 22-30, 62-64, 68-69, 74-77, 80-82, 88-97, 114-129, 140, 144, 160-162, 168-175, 187-188, 203-209, 231-232, 245-261, 265, 268-271, 275-279, 287, 304-325, 344-349, 366-379, 382, 385, 388-399, 504, 515-520, 525, 554-556, 560-562, 617, 627-629, 653-654, 666, 670-673, 690-722, 725-728, 731-736, 739-764, 767-774, 777-806'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/assertion/util 190 170 11% 2-20, 36, 47-62, 66, 76-79, 83, 96-113, 119-284'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/capture 311 255 18% 5-86, 89, 97, 100-103, 106-108, 118, 120, 123, 129, 137, 143-151, 156-240, 244-272, 278-281, 287-302, 307-349, 354-359, 362-371, 375, 379-413, 416, 419-447'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/config 603 494 18% 2-103, 111-169, 175, 191, 197-308, 311, 328-402, 407, 411-415, 418-477, 495, 501-503, 507-511, 518, 521-522, 526-601, 609-610, 615, 620-684, 691, 693-755, 763, 774, 777-778, 785, 787-815, 828, 830-838, 842-846, 849-886'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/core 341 217 36% 4-19, 22-40, 42-43, 49-60, 63, 65-67, 70-89, 91, 94, 107-126, 128, 131-136, 139-144, 147, 149, 157-204, 207-234, 263, 268-288, 294-298, 310, 329-333, 343, 356-360, 363, 368-369, 372-373, 376-411, 415, 419'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/doctest 92 89 3% 2-19, 23-126'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/genscript 78 76 3% 2-68, 71-127'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/helpconfig 133 102 23% 2-48, 50-57, 59-108, 111-116, 119-126, 134, 142-144, 151, 153-155, 165-170, 174-180, 184, 191-192'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/junitxml 134 132 1% 5-63, 67-219'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/main 501 289 42% 2-68, 71-73, 85-99, 102, 110-115, 118, 124, 127, 129, 144, 147-157, 161, 170-171, 175-178, 183, 191, 194-197, 203, 206-217, 244, 253-260, 263, 268-287, 296, 299, 302, 305, 308, 312, 314, 317-322, 326, 337-369, 372-380, 388-437, 441-450, 461, 466, 469-478, 482, 484-489, 506-514, 524, 526-528, 530-537, 540, 543, 553, 570-575, 577, 584, 592-595, 599, 603-607, 613, 616-617, 620-656, 660, 665-669, 673, 681, 684, 687-711'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/mark 155 148 5% 2-40, 42-54, 59-152, 155-299'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/monkeypatch 113 102 10% 3-70, 75, 93-98, 102, 106, 110-206'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/nose 42 28 33% 3-19, 22-27, 31-36, 43, 52, 54-57, 64, 70-71'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/pastebin 56 53 5% 2-16, 20-67'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/pdb 75 69 8% 2-19, 21, 25, 30-105'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/python 1284 921 28% 2-18, 21, 23, 28-110, 113-134, 136-140, 145-148, 164, 167-186, 190, 195, 198, 202-206, 210, 213, 216, 220-222, 228-231, 234, 238, 241-252, 258, 260-266, 273, 280, 287-290, 295-298, 305-307, 312-317, 319, 337, 342, 347, 359, 364, 375, 385-432, 437, 445-453, 456, 460, 464-469, 483, 491-494, 502-548, 551, 553-554, 558-559, 565, 568-648, 652-665, 670-673, 685-710, 714-726, 728, 733-734, 736-749, 760-840, 858-860, 864, 869, 876-1067, 1076, 1079, 1092, 1095, 1103, 1106-1123, 1126, 1130, 1137-1138, 1144-1170, 1184-1284, 1288-1564, 1576, 1585, 1590, 1594, 1605, 1607, 1618-1622, 1626, 1632, 1638-1641, 1648, 1660-1661, 1668-1673, 1676, 1678-1687, 1691, 1698, 1716, 1725, 1734, 1736-1789, 1806-1881, 1886, 1890-1891, 1897, 1905, 1912, 1915, 1928-1933, 1939-1960, 1963, 1969-1970, 1976-1987, 1992, 1997-2015'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/resultlog 80 78 2% 5-13, 17-100'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/runner 321 209 35% 2-52, 54-61, 68, 71, 85, 88, 91, 94, 98, 100, 108, 115, 118, 124, 129-133, 140-144, 147-184, 190, 194, 204-216, 219, 224-228, 260-272, 278-289, 296-297, 306-322, 326, 336, 340, 347-351, 353-355, 360-370, 374, 380, 389, 394-398, 404, 412-494'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/skipping 212 187 12% 2-15, 17-22, 41-54, 58, 62, 64-75, 78-102, 104-122, 125-138, 142, 146, 149, 153-156, 159-164, 170-196, 198-295'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/terminal 408 289 29% 5-39, 44-49, 53-61, 64-66, 69, 72-77, 80-89, 100, 103, 105, 110-123, 132, 134-137, 140, 142, 146-150, 154-171, 173-182, 189-192, 202-205, 208, 212-215, 221-228, 232, 234, 236, 241-243, 245, 252, 255, 257, 259-261, 265, 268, 272, 290, 301, 303-309, 311-348, 350-379, 382, 390, 393-519, 523'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/tmpdir 47 40 15% 2-10, 14-54, 61-75'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/_pytest/unittest 142 136 4% 2-14, 18, 22-143, 146-154, 156-185'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/cov_core 148 140 5% 3-48, 52, 56, 63-133, 138-272'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pkg_resources 1495 1494 1% 17-213, 222-2843'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_apipkg 138 109 21% 8-47, 58-110, 115-116, 122, 129-130, 133-153, 161-169, 173-181'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_builtin 188 176 6% 1-122, 124-127, 129, 132-134, 137-144, 147-238, 248'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_code/code 523 498 5% 1-16, 23-24, 27-33, 42, 45, 53-77, 84-91, 102-111, 116, 119-772, 776-786'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_code/source 294 154 48% 11-13, 26-43, 46-51, 55, 58, 73-80, 86-91, 97-99, 113, 134-153, 165-203, 216-222, 231-244, 258-261, 267-273, 284, 286, 313-315, 365, 368-370, 377, 384, 396-421'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_error 50 45 10% 5-41, 44-60, 65-88'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_io/saferepr 49 28 43% 17-30, 39-50, 54-56'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_io/terminalwriter 231 159 31% 16-23, 29-30, 37, 43-44, 51-101, 105, 107, 122-125, 128, 130, 138-141, 144-150, 162, 174, 186, 188, 199-204, 209, 213-239, 243-244, 247-249, 252, 256-317, 327-340'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_path/common 241 196 19% 3-92, 95-97, 100-102, 105-107, 110-112, 118-129, 134-210, 215, 223-225, 230-234, 242, 245, 249, 257-269, 285, 292, 296-392'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_path/local 627 508 19% 4-23, 26, 30-139, 155, 158-161, 164, 168-172, 175, 178-184, 189, 192-238, 251-252, 257-267, 270, 278, 305, 308, 323, 328-329, 335, 341, 343, 346-354, 362-510, 514-538, 542-543, 548-570, 574, 587, 589-590, 593-597, 603-615, 622, 628-636, 645, 649, 651, 653-654, 658-659, 661, 664-901, 904'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_std 11 5 55% 12-16'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/py/_xmlgen 170 168 1% 7-23, 26-253'
and: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/xdist/plugin 85 73 14% 1-54, 57-61, 64-70, 72-73, 75, 80-81, 83-87, 89-131'
and: '/Users/buck/trees/mine/pytest-cov/pytest_cov 80 68 15% 3-39, 42-54, 59-114, 119-139, 145-152, 156-158, 160-174'
and: 'test_central_nonspecific 8 2 75% 8, 10'
and: '-------------------------------------------------------------------------------------------------------------------------'
and: 'TOTAL 10540 8429 20% '
and: ''
and: '========================== 10 passed in 4.44 seconds ==========================='
___________________________________________________________________________________ test_central_coveragerc ___________________________________________________________________________________
testdir = <TmpTestdir local('/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_coveragerc0')>
def test_central_coveragerc(testdir):
script = testdir.makepyfile(SCRIPT)
testdir.tmpdir.join('.coveragerc').write(COVERAGERC_SOURCE)
result = testdir.runpytest('-v',
'--cov-enabled',
'--cov-report=term-missing',
script)
result.stdout.fnmatch_lines([
'*- coverage: platform *, python * -*',
'test_central_coveragerc * %s *' % SCRIPT_RESULT,
> '*10 passed*',
])
E Failed: remains unmatched: 'test_central_coveragerc * 8 * 88% *', see stderr
/Users/buck/trees/mine/pytest-cov/test_pytest_cov.py:147: Failed
------------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------------
running ['/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3', '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pytest.py', '--basetemp=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_coveragerc0/runpytest-0', '-v', '--cov-enabled', '--cov-report=term-missing', '/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_coveragerc0/test_central_coveragerc.py'] curdir= /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_central_coveragerc0
============================= test session starts ==============================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: xdist, cov
collecting ... collected 10 items
test_central_coveragerc.py::test_foo[0] PASSED
test_central_coveragerc.py::test_foo[1] PASSED
test_central_coveragerc.py::test_foo[2] PASSED
test_central_coveragerc.py::test_foo[3] PASSED
test_central_coveragerc.py::test_foo[4] PASSED
test_central_coveragerc.py::test_foo[5] PASSED
test_central_coveragerc.py::test_foo[6] PASSED
test_central_coveragerc.py::test_foo[7] PASSED
test_central_coveragerc.py::test_foo[8] PASSED
test_central_coveragerc.py::test_foo[9] PASSED
--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------
Name Stmts Miss Cover Missing
-------------------------------------------------------
test_central_coveragerc 8 2 75% 8, 10
========================== 10 passed in 0.42 seconds ===========================
------------------------------------------------------------------------------------ Captured stderr call -------------------------------------------------------------------------------------
nomatch: '*- coverage: platform *, python * -*'
and: '============================= test session starts =============================='
and: 'platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3'
and: 'plugins: xdist, cov'
and: 'collecting ... collected 10 items'
and: ''
and: 'test_central_coveragerc.py::test_foo[0] PASSED'
and: 'test_central_coveragerc.py::test_foo[1] PASSED'
and: 'test_central_coveragerc.py::test_foo[2] PASSED'
and: 'test_central_coveragerc.py::test_foo[3] PASSED'
and: 'test_central_coveragerc.py::test_foo[4] PASSED'
and: 'test_central_coveragerc.py::test_foo[5] PASSED'
and: 'test_central_coveragerc.py::test_foo[6] PASSED'
and: 'test_central_coveragerc.py::test_foo[7] PASSED'
and: 'test_central_coveragerc.py::test_foo[8] PASSED'
and: 'test_central_coveragerc.py::test_foo[9] PASSED'
fnmatch: '*- coverage: platform *, python * -*'
with: '--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------'
nomatch: 'test_central_coveragerc * 8 * 88% *'
and: 'Name Stmts Miss Cover Missing'
and: '-------------------------------------------------------'
and: 'test_central_coveragerc 8 2 75% 8, 10'
and: ''
and: '========================== 10 passed in 0.42 seconds ==========================='
____________________________________________________________________________________ test_dist_collocated _____________________________________________________________________________________
testdir = <TmpTestdir local('/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0')>
def test_dist_collocated(testdir):
script = testdir.makepyfile(SCRIPT)
result = testdir.runpytest('-v',
'--cov=%s' % script.dirpath(),
'--cov-report=term-missing',
'--dist=load',
'--tx=2*popen',
script)
result.stdout.fnmatch_lines([
'*- coverage: platform *, python * -*',
'test_dist_collocated * %s *' % SCRIPT_RESULT,
> '*10 passed*'
])
E Failed: remains unmatched: 'test_dist_collocated * 8 * 88% *', see stderr
/Users/buck/trees/mine/pytest-cov/test_pytest_cov.py:182: Failed
------------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------------
running ['/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3', '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pytest.py', '--basetemp=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0/runpytest-0', '-v', '--cov=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0', '--cov-report=term-missing', '--dist=load', '--tx=2*popen', '/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0/test_dist_collocated.py'] curdir= /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0
============================= test session starts ==============================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: xdist, cov
gw0 I / gw1 I
[gw0] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0
[gw1] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0
[gw0] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]
[gw1] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]
gw0 [10] / gw1 [10]
scheduling tests via LoadScheduling
test_dist_collocated.py::test_foo[0]
test_dist_collocated.py::test_foo[2]
[gw0] PASSED test_dist_collocated.py::test_foo[0]
[gw1] PASSED test_dist_collocated.py::test_foo[2]
test_dist_collocated.py::test_foo[1]
test_dist_collocated.py::test_foo[3]
[gw0] PASSED test_dist_collocated.py::test_foo[1]
[gw1] PASSED test_dist_collocated.py::test_foo[3]
test_dist_collocated.py::test_foo[4]
test_dist_collocated.py::test_foo[5]
[gw0] PASSED test_dist_collocated.py::test_foo[4]
[gw1] PASSED test_dist_collocated.py::test_foo[5]
test_dist_collocated.py::test_foo[6]
test_dist_collocated.py::test_foo[7]
[gw0] PASSED test_dist_collocated.py::test_foo[6]
[gw1] PASSED test_dist_collocated.py::test_foo[7]
test_dist_collocated.py::test_foo[8]
test_dist_collocated.py::test_foo[9]
[gw0] PASSED test_dist_collocated.py::test_foo[8]
[gw1] PASSED test_dist_collocated.py::test_foo[9]
--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------
Name Stmts Miss Cover Missing
----------------------------------------------------
test_dist_collocated 8 2 75% 8, 10
========================== 10 passed in 1.52 seconds ===========================
------------------------------------------------------------------------------------ Captured stderr call -------------------------------------------------------------------------------------
nomatch: '*- coverage: platform *, python * -*'
and: '============================= test session starts =============================='
and: 'platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3'
and: 'plugins: xdist, cov'
and: 'gw0 I / gw1 I'
and: ''
and: '[gw0] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0'
and: ''
and: '[gw1] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_collocated0'
and: ''
and: '[gw0] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]'
and: ''
and: '[gw1] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]'
and: 'gw0 [10] / gw1 [10]'
and: ''
and: 'scheduling tests via LoadScheduling'
and: ''
and: 'test_dist_collocated.py::test_foo[0] '
and: 'test_dist_collocated.py::test_foo[2] '
and: '[gw0] PASSED test_dist_collocated.py::test_foo[0] '
and: '[gw1] PASSED test_dist_collocated.py::test_foo[2] '
and: 'test_dist_collocated.py::test_foo[1] '
and: 'test_dist_collocated.py::test_foo[3] '
and: '[gw0] PASSED test_dist_collocated.py::test_foo[1] '
and: '[gw1] PASSED test_dist_collocated.py::test_foo[3] '
and: 'test_dist_collocated.py::test_foo[4] '
and: 'test_dist_collocated.py::test_foo[5] '
and: '[gw0] PASSED test_dist_collocated.py::test_foo[4] '
and: '[gw1] PASSED test_dist_collocated.py::test_foo[5] '
and: 'test_dist_collocated.py::test_foo[6] '
and: 'test_dist_collocated.py::test_foo[7] '
and: '[gw0] PASSED test_dist_collocated.py::test_foo[6] '
and: '[gw1] PASSED test_dist_collocated.py::test_foo[7] '
and: 'test_dist_collocated.py::test_foo[8] '
and: 'test_dist_collocated.py::test_foo[9] '
and: '[gw0] PASSED test_dist_collocated.py::test_foo[8] '
and: '[gw1] PASSED test_dist_collocated.py::test_foo[9] '
fnmatch: '*- coverage: platform *, python * -*'
with: '--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------'
nomatch: 'test_dist_collocated * 8 * 88% *'
and: 'Name Stmts Miss Cover Missing'
and: '----------------------------------------------------'
and: 'test_dist_collocated 8 2 75% 8, 10'
and: ''
and: '========================== 10 passed in 1.52 seconds ==========================='
__________________________________________________________________________________ test_dist_not_collocated ___________________________________________________________________________________
testdir = <TmpTestdir local('/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0')>
def test_dist_not_collocated(testdir):
script = testdir.makepyfile(SCRIPT)
dir1 = testdir.mkdir('dir1')
dir2 = testdir.mkdir('dir2')
result = testdir.runpytest('-v',
'--cov=%s' % script.dirpath(),
'--cov-report=term-missing',
'--dist=load',
'--tx=popen//chdir=%s' % dir1,
'--tx=popen//chdir=%s' % dir2,
'--rsyncdir=%s' % script.basename,
script)
result.stdout.fnmatch_lines([
'*- coverage: platform *, python * -*',
'test_dist_not_collocated * %s *' % SCRIPT_RESULT,
> '*10 passed*'
])
E Failed: remains unmatched: 'test_dist_not_collocated * 8 * 88% *', see stderr
/Users/buck/trees/mine/pytest-cov/test_pytest_cov.py:204: Failed
------------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------------
running ['/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3', '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/site-packages/pytest.py', '--basetemp=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/runpytest-0', '-v', '--cov=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0', '--cov-report=term-missing', '--dist=load', '--tx=popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1', '--tx=popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2', '--rsyncdir=test_dist_not_collocated.py', '/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/test_dist_not_collocated.py'] curdir= /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0
============================= test session starts ==============================
platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3
plugins: xdist, cov
gw0 I / gw1 I
[gw0] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/__metainfo.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_apipkg.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_builtin.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_assertionnew.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_assertionold.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_py2traceback.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/assertion.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/code.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/source.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_error.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_iniconfig.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/capture.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/saferepr.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/terminalwriter.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/log.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/warning.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/cacheutil.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/common.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/local.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/svnurl.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/svnwc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/cmdexec.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/forkedfunc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/killproc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_std.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_xmlgen.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/test.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= pytest.py/
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/_argcomplete.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/newinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/oldinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/reinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/rewrite.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/util.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/capture.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/config.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/core.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/doctest.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/genscript.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/helpconfig.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/hookspec.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/junitxml.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/main.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/mark.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/monkeypatch.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/nose.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pastebin.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pdb.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pytester.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/python.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/recwarn.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/resultlog.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/runner.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/skipping.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/standalonetemplate.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/terminal.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/tmpdir.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/unittest.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= test_dist_not_collocated.py/
[gw1] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/__metainfo.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_apipkg.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_builtin.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_assertionnew.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_assertionold.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_py2traceback.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/assertion.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/code.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/source.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_error.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_iniconfig.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/capture.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/saferepr.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/terminalwriter.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/log.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/warning.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/cacheutil.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/common.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/local.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/svnurl.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/svnwc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/cmdexec.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/forkedfunc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/killproc.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_std.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_xmlgen.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/test.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= pytest.py/
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/_argcomplete.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/__init__.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/newinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/oldinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/reinterpret.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/rewrite.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/util.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/capture.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/config.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/core.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/doctest.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/genscript.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/helpconfig.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/hookspec.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/junitxml.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/main.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/mark.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/monkeypatch.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/nose.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pastebin.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pdb.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pytester.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/python.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/recwarn.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/resultlog.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/runner.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/skipping.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/standalonetemplate.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/terminal.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/tmpdir.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/unittest.py
popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= test_dist_not_collocated.py/
[gw0] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]
[gw1] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]
gw0 [10] / gw1 [10]
scheduling tests via LoadScheduling
test_dist_not_collocated.py::test_foo[0]
test_dist_not_collocated.py::test_foo[2]
[gw1] PASSED test_dist_not_collocated.py::test_foo[0]
[gw0] PASSED test_dist_not_collocated.py::test_foo[2]
test_dist_not_collocated.py::test_foo[1]
test_dist_not_collocated.py::test_foo[3]
[gw1] PASSED test_dist_not_collocated.py::test_foo[1]
[gw0] PASSED test_dist_not_collocated.py::test_foo[3]
test_dist_not_collocated.py::test_foo[4]
test_dist_not_collocated.py::test_foo[5]
[gw1] PASSED test_dist_not_collocated.py::test_foo[4]
[gw0] PASSED test_dist_not_collocated.py::test_foo[5]
test_dist_not_collocated.py::test_foo[6]
test_dist_not_collocated.py::test_foo[7]
[gw1] PASSED test_dist_not_collocated.py::test_foo[6]
[gw0] PASSED test_dist_not_collocated.py::test_foo[7]
test_dist_not_collocated.py::test_foo[8]
test_dist_not_collocated.py::test_foo[9]
[gw1] PASSED test_dist_not_collocated.py::test_foo[8]
[gw0] PASSED test_dist_not_collocated.py::test_foo[9]
--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------
Name Stmts Miss Cover Missing
--------------------------------------------------------------
test_dist_not_collocated 8 2 75% 8, 10
========================== 10 passed in 3.48 seconds ===========================
------------------------------------------------------------------------------------ Captured stderr call -------------------------------------------------------------------------------------
nomatch: '*- coverage: platform *, python * -*'
and: '============================= test session starts =============================='
and: 'platform darwin -- Python 3.2.5[pypy-2.3.1-final] -- py-1.4.25 -- pytest-2.6.3 -- /Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/pypy3'
and: 'plugins: xdist, cov'
and: 'gw0 I / gw1 I'
and: ''
and: '[gw0] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/__metainfo.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_apipkg.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_builtin.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_assertionnew.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_assertionold.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/_py2traceback.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/assertion.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/code.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_code/source.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_error.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_iniconfig.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/capture.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/saferepr.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_io/terminalwriter.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/log.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_log/warning.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/cacheutil.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/common.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/local.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/svnurl.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_path/svnwc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/cmdexec.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/forkedfunc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_process/killproc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_std.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/_xmlgen.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= py/test.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= pytest.py/'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/_argcomplete.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/newinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/oldinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/reinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/rewrite.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/assertion/util.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/capture.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/config.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/core.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/doctest.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/genscript.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/helpconfig.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/hookspec.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/junitxml.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/main.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/mark.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/monkeypatch.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/nose.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pastebin.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pdb.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/pytester.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/python.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/recwarn.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/resultlog.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/runner.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/skipping.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/standalonetemplate.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/terminal.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/tmpdir.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= _pytest/unittest.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir1 <= test_dist_not_collocated.py/'
and: ''
and: '[gw1] darwin Python 3.2.5 cwd: /private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/__metainfo.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_apipkg.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_builtin.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_assertionnew.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_assertionold.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/_py2traceback.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/assertion.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/code.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_code/source.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_error.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_iniconfig.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/capture.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/saferepr.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_io/terminalwriter.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/log.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_log/warning.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/cacheutil.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/common.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/local.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/svnurl.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_path/svnwc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/cmdexec.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/forkedfunc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_process/killproc.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_std.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/_xmlgen.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= py/test.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= pytest.py/'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/_argcomplete.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/__init__.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/newinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/oldinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/reinterpret.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/rewrite.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/assertion/util.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/capture.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/config.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/core.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/doctest.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/genscript.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/helpconfig.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/hookspec.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/junitxml.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/main.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/mark.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/monkeypatch.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/nose.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pastebin.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pdb.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/pytester.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/python.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/recwarn.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/resultlog.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/runner.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/skipping.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/standalonetemplate.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/terminal.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/tmpdir.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= _pytest/unittest.py'
and: 'popen//chdir=/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2:/private/var/folders/ss/ykf37pld1hl480qcdknf_zc577t9rc/T/pytest-104/testdir/test_dist_not_collocated0/dir2 <= test_dist_not_collocated.py/'
and: ''
and: '[gw0] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]'
and: ''
and: '[gw1] Python 3.2.5 (986752d005bb6c65ce418113e4c3cd115f61a9b4, Oct 04 2014, 09:30:28) -- [PyPy 2.3.1 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)]'
and: 'gw0 [10] / gw1 [10]'
and: ''
and: 'scheduling tests via LoadScheduling'
and: ''
and: 'test_dist_not_collocated.py::test_foo[0] '
and: 'test_dist_not_collocated.py::test_foo[2] '
and: '[gw1] PASSED test_dist_not_collocated.py::test_foo[0] '
and: '[gw0] PASSED test_dist_not_collocated.py::test_foo[2] '
and: 'test_dist_not_collocated.py::test_foo[1] '
and: 'test_dist_not_collocated.py::test_foo[3] '
and: '[gw1] PASSED test_dist_not_collocated.py::test_foo[1] '
and: '[gw0] PASSED test_dist_not_collocated.py::test_foo[3] '
and: 'test_dist_not_collocated.py::test_foo[4] '
and: 'test_dist_not_collocated.py::test_foo[5] '
and: '[gw1] PASSED test_dist_not_collocated.py::test_foo[4] '
and: '[gw0] PASSED test_dist_not_collocated.py::test_foo[5] '
and: 'test_dist_not_collocated.py::test_foo[6] '
and: 'test_dist_not_collocated.py::test_foo[7] '
and: '[gw1] PASSED test_dist_not_collocated.py::test_foo[6] '
and: '[gw0] PASSED test_dist_not_collocated.py::test_foo[7] '
and: 'test_dist_not_collocated.py::test_foo[8] '
and: 'test_dist_not_collocated.py::test_foo[9] '
and: '[gw1] PASSED test_dist_not_collocated.py::test_foo[8] '
and: '[gw0] PASSED test_dist_not_collocated.py::test_foo[9] '
fnmatch: '*- coverage: platform *, python * -*'
with: '--------------- coverage: platform darwin, python 3.2.5-final-0 ----------------'
nomatch: 'test_dist_not_collocated * 8 * 88% *'
and: 'Name Stmts Miss Cover Missing'
and: '--------------------------------------------------------------'
and: 'test_dist_not_collocated 8 2 75% 8, 10'
and: ''
and: '========================== 10 passed in 3.48 seconds ==========================='
============================================================================ 5 failed, 16 passed in 87.66 seconds =============================================================================
ERROR: InvocationError: '/Users/buck/trees/mine/pytest-cov/.tox/pypy3/bin/py.test -v test_pytest_cov.py'
___________________________________________________________________________________________ summary ___________________________________________________________________________________________
ERROR: pypy3: commands failed
I need to run my tests with xdist's --boxed feature.
there is a big difference in coverage compared to running unboxed:
35 % of all modules are completely uncovered.
I also noticed, that despite that I run the tests with py.test tests/ --boxed -d -n 8 --random
the uncovered modules are always the same.
When I run one single test module in boxed mode coverage complains that the module to cover was not imported:
py.test tests/unit/security/test_features.py --boxed -d -n 8 --cov bm.security
===================================================================================================== test session starts =====================================================================================================
platform linux2 -- Python 2.7.5 -- pytest-2.5.0
Tests are shuffled using seed number 358684703390.
plugins: random, bdd, cov, capturelog, ipdb, cache, pep8, greendots, xdist
gw0 [49] / gw1 [49] / gw2 [49] / gw3 [49] / gw4 [49] / gw5 [49] / gw6 [49] / gw7 [49]
scheduling tests via LoadScheduling
................................s..Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.......Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.Coverage.py warning: Module bm.security was never imported.
Coverage.py warning: No data was collected.
.
--------------------------------------------------------------------------------------- coverage: platform linux2, python 2.7.5-final-0 ---------------------------------------------------------------------------------------
Name Stmts Miss Cover Missing
----------------------------------------
============================================================================================ 48 passed, 1 skipped in 3.60 seconds =============================================================================================
With pytest-cov 2.0, I'm getting:
_pytest.assertion.reinterpret.AssertionError: Test coverage should never be `None`
On the same projects with pytest-cov 1.8.1, it works fine.
Example command-line:
$ tox -e py27
...
------------------------------------------------------------------------------------------------------------------------------- generated xml file: /home/monkey/ce402c011ae38dae/junit.xml --------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------- coverage: platform linux2, python 2.7.6-final-0 --------------------------------------------------------------------------------------------------------------------------------------
Name Stmts Miss Cover Missing
-------------------------------------------------------------------------------------
usersvc/__init__ 196 0 100%
usersvc/appstatus 27 21 22% 9-16, 20-27, 31-38
usersvc/lib/__init__ 2 0 100%
usersvc/lib/cache 6 0 100%
...
Traceback (most recent call last):
File ".tox/py27/bin/py.test", line 11, in <module>
sys.exit(main())
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/config.py", line 41, in main
return config.hook.pytest_cmdline_main(config=config)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 521, in __call__
return self._docall(self.methods, kwargs)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 394, in execute
res = method(*args)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/main.py", line 116, in pytest_cmdline_main
return wrap_session(config, _main)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/main.py", line 109, in wrap_session
exitstatus=session.exitstatus)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 521, in __call__
return self._docall(self.methods, kwargs)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 393, in execute
return wrapped_call(method(*args), self.execute)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 109, in wrapped_call
wrap_controller.send(call_outcome)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/terminal.py", line 362, in pytest_sessionfinish
self.config.hook.pytest_terminal_summary(terminalreporter=self)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 521, in __call__
return self._docall(self.methods, kwargs)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 528, in _docall
firstresult=self.firstresult).execute()
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/_pytest/core.py", line 394, in execute
res = method(*args)
File "/home/monkey/ce402c011ae38dae/.tox/py27/local/lib/python2.7/site-packages/pytest_cov/plugin.py", line 164, in pytest_terminal_summary
assert total is not None, 'Test coverage should never be `None`'
_pytest.assertion.reinterpret.AssertionError: Test coverage should never be `None`
ERROR: InvocationError: '/home/monkey/ce402c011ae38dae/.tox/py27/bin/py.test --teamcity --cov=usersvc --cov-report=html --cov-report=xml --cov-report=annotate'
_________________________________________________________________________________________________________________________________________________________ summary __________________________________________________________________________________________________________________________________________________________
ERROR: py27: commands failed
As you can see it actually prints a coverage report to stdout, so I don't know why it thinks the test coverage is None
.
Here's what's installed:
$ .tox/py27/bin/pip freeze | egrep 'pytest|cov'
You are using pip version 7.1.0, however version 7.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
cov-core==1.15.0
coverage==3.7.1
pytest==2.7.2
pytest-cov==2.0.0
pytest-xdist==1.13.1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.