1 new commit in pytest-cache:
https://bitbucket.org/hpk42/pytest-cache/changeset/bc61694438e9/ changeset: bc61694438e9 user: RonnyPfannschmidt date: 2012-07-10 09:39:40 summary: test and fix issue 4 consider setup time skip of a previous fail no longer a fail affected #: 3 files diff -r 27cda0c4b038562cbe7d281e2323539cf7487710 -r bc61694438e9cdd3ce0296b8379f8f82b694aae5 CHANGELOG --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ + +- fix issue 4: consider setup time skip of a previous failure + as no longer failing + 0.9 ---------------------------------------------- diff -r 27cda0c4b038562cbe7d281e2323539cf7487710 -r bc61694438e9cdd3ce0296b8379f8f82b694aae5 pytest_cache.py --- a/pytest_cache.py +++ b/pytest_cache.py @@ -130,7 +130,9 @@ if report.failed: self.lastfailed.add(report.nodeid) else: - if report.when == "call": + call = report.when == "call" + skipped_setup = report.when == 'setup' and report.skipped + if call or skipped_setup: try: self.lastfailed.remove(report.nodeid) except KeyError: diff -r 27cda0c4b038562cbe7d281e2323539cf7487710 -r bc61694438e9cdd3ce0296b8379f8f82b694aae5 test_cache.py --- a/test_cache.py +++ b/test_cache.py @@ -160,3 +160,68 @@ result.stdout.fnmatch_lines([ "*2 failed*", ]) + + @pytest.mark.skipif("sys.version_info < (2,6)") + def test_lastfailed_failure_to_skip_is_passsed(self, testdir, monkeypatch): + monkeypatch.setenv("PYTHONDONTWRITEBYTECODE", 1) + p1 = testdir.makepyfile(""" + import os + import pytest + def skipat(when): + if os.environ.get("SKIPAT") == when: + pytest.skip(when) + + def setup_module(mod): + skipat('setup') + + def test_configured_skip(): + skipat('test') + assert 0 + """) + p2 = testdir.tmpdir.join('test_fail.py').write(py.code.Source(""" + def test_keepfail(): + assert 0 + """)) + + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*2 failed*", + ]) + + monkeypatch.setenv("SKIPAT", 'test') + + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*1 skipped*", + ]) + + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*1 deselected*", + ]) + + monkeypatch.delenv('SKIPAT') + + result = testdir.runpytest() + result.stdout.fnmatch_lines([ + "*2 failed*", + ]) + + monkeypatch.setenv("SKIPAT", 'setup') + + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*1 skipped*", + ]) + #XXX: check cache + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*1 deselected*", + ]) + + monkeypatch.delenv('SKIPAT') + + result = testdir.runpytest("--lf") + result.stdout.fnmatch_lines([ + "*1 failed*", + ]) Repository URL: https://bitbucket.org/hpk42/pytest-cache/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ py-svn mailing list py-svn@codespeak.net http://codespeak.net/mailman/listinfo/py-svn