Giter Site home page Giter Site logo

pytest-cov's People

Contributors

adamantike avatar blueyed avatar bukzor avatar cclauss avatar cleder avatar davidszotten avatar graingert avatar hugovk avatar ionelmc avatar jmbowman avatar jstewmon avatar julienpalard avatar kianmeng avatar larsoner avatar matterra avatar mgorny avatar msabramo avatar nedbat avatar nicoddemus avatar plannigan avatar pre-commit-ci[bot] avatar ryanhiebert avatar sadikkuzu avatar schlamar avatar ssbarnea avatar terencehonles avatar urth avatar wolph avatar wronglink avatar zac-hd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pytest-cov's Issues

Have all the packages in the same tree

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?

Test for 2.1.0 fail with E Failed: remains unmatched: '*- coverage: platform *, python * -*', see stderr

==================================================================== 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 ==================================================

pkg_resources.VersionConflict

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

AssertionError when generating annotations

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

.coverage file is not writable

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.

Where do these .coverage.hostname.number.number files come from?

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?

cov_core_init.init() regression in cov-core 1.11

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%

Using cov results in different behaviour of tested code

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.

minimal failing example

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'

System information:

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'

mark/fixture to turn coverage recording off

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

Rance condition when running with xdist

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.

CI for pypy3

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

Calling subprocess fails (and outright crashes on python 2.6) when given a relative path for --cov-config

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.

function declarations and comments are not marked as covered

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.

Traceback when using --looponfail

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

pytest-cov 2.1.0 doesn't work with pytest 2.8.0

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'

Module-level code imported from conftest files is reported as 'uncovered'

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:

  1. 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.

  2. 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.

Uncovered files from dirs without __init__.py are not reported

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?!

Allow to specify Coverage XML output file

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.

Add note to docs about pytest-cov and pytest doctest support

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.

cov-core: uninstall leaves pth file behind

$ 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

coverage is wrong when running with xdist's --boxed

I need to run my tests with xdist's --boxed feature.
there is a big difference in coverage compared to running unboxed:

  • unboxed: 93.48 %
  • boxed: 26.93 %

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 =============================================================================================

pytest-cov with pytest-xdist -f == "Error in sys.exitfunc:"

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:

Unhandled `AttributeError` on interpreter teardown.

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.

TypeError: %d format: a number is required, not NoneType

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:~$ 

_pytest.assertion.reinterpret.AssertionError: Test coverage should never be `None`

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

coverage.misc.CoverageException: No data to report.

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.

Where is the cov-core 1.15.0

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?

Coverage for installed packages + smarter reports

@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.

Incompatible with coverage 4.0?

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?

append coverage over several runs

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

multiprocessing failure

The multiprocessing test here:

https://github.com/schlamar/pytest-cov/blob/f609c0609158db16b5acbdbeb7c5701bdc58fa18/pytest-cov/test_pytest_cov.py#L84

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:

https://github.com/schlamar/pytest-cov/blob/f609c0609158db16b5acbdbeb7c5701bdc58fa18/cov-core/cov_core.py#L12

which then calls cov_core_init.init() which subsequently calls cov.erase():

https://github.com/schlamar/pytest-cov/blob/f609c0609158db16b5acbdbeb7c5701bdc58fa18/cov-core/cov_core_init.py#L52

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.

central_subprocess failing

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.