Orion Poplawski c04741d
diff -up pytest-cov-2.2.0/tests/test_pytest_cov.py.xdist pytest-cov-2.2.0/tests/test_pytest_cov.py
Orion Poplawski c04741d
--- pytest-cov-2.2.0/tests/test_pytest_cov.py.xdist	2015-10-03 07:33:53.000000000 -0600
Orion Poplawski c04741d
+++ pytest-cov-2.2.0/tests/test_pytest_cov.py	2015-10-05 09:07:26.548035911 -0600
Orion Poplawski c04741d
@@ -124,6 +124,12 @@ def test_run_target():
Orion Poplawski 7e71bb9
     p.join()
Orion Poplawski 7e71bb9
 '''
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+try:
Orion Poplawski 7e71bb9
+    import xdist
Orion Poplawski 7e71bb9
+    HAS_XDIST = True
Orion Poplawski 7e71bb9
+except:
Orion Poplawski 7e71bb9
+    HAS_XDIST = False
Orion Poplawski 7e71bb9
+
Orion Poplawski 7e71bb9
 SCRIPT_FAIL = '''
Orion Poplawski 7e71bb9
 def test_fail():
Orion Poplawski 7e71bb9
     assert False
Orion Poplawski c04741d
@@ -135,7 +141,11 @@ SCRIPT2_RESULT = '3 * 100%'
Orion Poplawski c04741d
 CHILD_SCRIPT_RESULT = '[56] * 100%'
Orion Poplawski 7e71bb9
 PARENT_SCRIPT_RESULT = '8 * 100%'
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
-xdist = pytest.mark.parametrize('opts', ['', '-n 1'], ids=['nodist', 'xdist'])
Orion Poplawski 7e71bb9
+try:
Orion Poplawski 7e71bb9
+    import xdist
Orion Poplawski 7e71bb9
+    xdist = pytest.mark.parametrize('opts', ['', '-n 1'], ids=['nodist', 'xdist'])
Orion Poplawski 7e71bb9
+except:
Orion Poplawski 7e71bb9
+    xdist = pytest.mark.parametrize('opts', [''], ids=['nodist'])
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 def test_central(testdir):
Orion Poplawski c04741d
@@ -291,6 +301,7 @@ show_missing = true
Orion Poplawski 7e71bb9
     assert result.ret == 0
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_no_cov_on_fail(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(SCRIPT_FAIL)
Orion Poplawski 7e71bb9
 
Orion Poplawski c04741d
@@ -304,6 +315,7 @@ def test_no_cov_on_fail(testdir):
Orion Poplawski 7e71bb9
     result.stdout.fnmatch_lines(['*1 failed*'])
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_combine_racecondition(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile("""
Orion Poplawski 7e71bb9
 import pytest
Orion Poplawski c04741d
@@ -330,6 +342,7 @@ def test_foo(foo):
Orion Poplawski 7e71bb9
     assert result.ret == 0
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_collocated(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(SCRIPT)
Orion Poplawski 7e71bb9
 
Orion Poplawski c04741d
@@ -349,6 +362,7 @@ def test_dist_collocated(testdir):
Orion Poplawski 7e71bb9
     assert result.ret == 0
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_not_collocated(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(SCRIPT)
Orion Poplawski 7e71bb9
     dir1 = testdir.mkdir('dir1')
Orion Poplawski c04741d
@@ -438,6 +452,7 @@ omit =
Orion Poplawski 7e71bb9
     assert result.ret == 0
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_subprocess_collocated(testdir):
Orion Poplawski 7e71bb9
     scripts = testdir.makepyfile(parent_script=SCRIPT_PARENT,
Orion Poplawski 7e71bb9
                                  child_script=SCRIPT_CHILD)
Orion Poplawski c04741d
@@ -459,6 +474,7 @@ def test_dist_subprocess_collocated(test
Orion Poplawski 7e71bb9
     assert result.ret == 0
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_subprocess_not_collocated(testdir, tmpdir):
Orion Poplawski 7e71bb9
     scripts = testdir.makepyfile(parent_script=SCRIPT_PARENT,
Orion Poplawski 7e71bb9
                                  child_script=SCRIPT_CHILD)
Orion Poplawski c04741d
@@ -504,6 +520,7 @@ def test_empty_report(testdir):
Orion Poplawski 7e71bb9
     assert not matching_lines
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_dist_missing_data(testdir):
Orion Poplawski 7e71bb9
     venv_path = os.path.join(str(testdir.tmpdir), 'venv')
Orion Poplawski 7e71bb9
     virtualenv.create_environment(venv_path)
Orion Poplawski c04741d
@@ -616,6 +633,7 @@ def test_cover_conftest(testdir):
Orion Poplawski 7e71bb9
     result.stdout.fnmatch_lines([CONF_RESULT])
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_cover_looponfail(testdir, monkeypatch):
Orion Poplawski 7e71bb9
     testdir.makepyfile(mod=MODULE)
Orion Poplawski 7e71bb9
     testdir.makeconftest(CONFTEST)
Orion Poplawski c04741d
@@ -634,6 +652,7 @@ def test_cover_looponfail(testdir, monke
Orion Poplawski 7e71bb9
             )
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_cover_conftest_dist(testdir):
Orion Poplawski 7e71bb9
     testdir.makepyfile(mod=MODULE)
Orion Poplawski 7e71bb9
     testdir.makeconftest(CONFTEST)
Orion Poplawski c04741d
@@ -683,6 +702,7 @@ def test_coveragerc(testdir):
Orion Poplawski 7e71bb9
     result.stdout.fnmatch_lines(['test_coveragerc* %s' % EXCLUDED_RESULT])
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_coveragerc_dist(testdir):
Orion Poplawski 7e71bb9
     testdir.makefile('', coveragerc=COVERAGERC)
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(EXCLUDED_TEST)
Orion Poplawski c04741d
@@ -729,7 +749,7 @@ def test_foo():
Orion Poplawski 7e71bb9
 SCRIPT_SIMPLE_RESULT = '4 * 100%'
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
-@pytest.mark.skipif('sys.platform == "win32"')
Orion Poplawski 7e71bb9
+@pytest.mark.skipif('sys.platform == "win32" or not HAS_XDIST')
Orion Poplawski 7e71bb9
 def test_dist_boxed(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(SCRIPT_SIMPLE)
Orion Poplawski 7e71bb9
 
Orion Poplawski c04741d
@@ -805,6 +825,7 @@ data_file = %s
Orion Poplawski 7e71bb9
     assert glob.glob(str(testdir.tmpdir.join('some/special/place/coverage-data*')))
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
 
Orion Poplawski 7e71bb9
+@pytest.mark.skipif("not HAS_XDIST")
Orion Poplawski 7e71bb9
 def test_external_data_file_xdist(testdir):
Orion Poplawski 7e71bb9
     script = testdir.makepyfile(SCRIPT)
Orion Poplawski 7e71bb9
     testdir.tmpdir.join('.coveragerc').write("""