In test_xfail_handling, only remove __pycache__ if it exists

Previously, the test failed when the directory was not present,
which could have been caused for example by invoking the tests
with PYTHONDONTWRITEBYTECODE=1.

Fixes https://github.com/pytest-dev/pytest/issues/5664
This commit is contained in:
Miro Hrončok 2019-07-26 02:23:14 +02:00
parent 50c7b5d2b5
commit ab39502c98
2 changed files with 4 additions and 1 deletions

View File

@ -0,0 +1,2 @@
When invoking pytest's own testsuite with ``PYTHONDONTWRITEBYTECODE=1``,
the ``test_xfail_handling`` test no longer fails.

View File

@ -207,7 +207,8 @@ def test_xfail_handling(testdir):
# because we are writing to the same file, mtime might not be affected enough to # because we are writing to the same file, mtime might not be affected enough to
# invalidate the cache, making this next run flaky # invalidate the cache, making this next run flaky
testdir.tmpdir.join("__pycache__").remove() if testdir.tmpdir.join("__pycache__").exists():
testdir.tmpdir.join("__pycache__").remove()
testdir.makepyfile(contents.format(assert_value="0", strict="True")) testdir.makepyfile(contents.format(assert_value="0", strict="True"))
result = testdir.runpytest("--sw", "-v") result = testdir.runpytest("--sw", "-v")
result.stdout.fnmatch_lines( result.stdout.fnmatch_lines(