2 new commits in pytest-xdist: https://bitbucket.org/hpk42/pytest-xdist/commits/f13b083b8030/ Changeset: f13b083b8030 Branch: dedupe-failures User: jerith Date: 2013-03-27 16:34:58 Summary: Avoid collecting duplicate failures when using --looponfail. Affected #: 2 files
diff -r db56e4b41e9bff631eec7b1f3db9dd5cf1b3e574 -r f13b083b80301f7aa51f657916e023e87c4201ee testing/test_looponfail.py --- a/testing/test_looponfail.py +++ b/testing/test_looponfail.py @@ -206,6 +206,24 @@ remotecontrol.loop_once() assert len(remotecontrol.failures) == 1 + def test_looponfail_multiple_errors(self, testdir, monkeypatch): + modcol = testdir.getmodulecol(""" + def test_one(): + assert 0 + """) + remotecontrol = RemoteControl(modcol.config) + orig_runsession = remotecontrol.runsession + + def runsession_dups(): + # twisted.trial test cases may report multiple errors. + failures, reports, collection_failed = orig_runsession() + print failures + return failures * 2, reports, collection_failed + + monkeypatch.setattr(remotecontrol, 'runsession', runsession_dups) + remotecontrol.loop_once() + assert len(remotecontrol.failures) == 1 + class TestFunctional: def test_fail_to_ok(self, testdir): diff -r db56e4b41e9bff631eec7b1f3db9dd5cf1b3e574 -r f13b083b80301f7aa51f657916e023e87c4201ee xdist/looponfail.py --- a/xdist/looponfail.py +++ b/xdist/looponfail.py @@ -89,7 +89,11 @@ if collection_failed: reports = ["Collection failed, keeping previous failure set"] else: - self.failures = failures + uniq_failures = [] + for failure in failures: + if failure not in uniq_failures: + uniq_failures.append(failure) + self.failures = uniq_failures def repr_pytest_looponfailinfo(failreports, rootdirs): tr = py.io.TerminalWriter() https://bitbucket.org/hpk42/pytest-xdist/commits/af184e3fe6c2/ Changeset: af184e3fe6c2 User: hpk42 Date: 2013-04-02 10:29:21 Summary: Merged in jerith/pytest-xdist/dedupe-failures (pull request #1) Avoid collecting duplicate failures when using --looponfail. Affected #: 2 files diff -r db56e4b41e9bff631eec7b1f3db9dd5cf1b3e574 -r af184e3fe6c230fe46b99aca86707eba196957f7 testing/test_looponfail.py --- a/testing/test_looponfail.py +++ b/testing/test_looponfail.py @@ -206,6 +206,24 @@ remotecontrol.loop_once() assert len(remotecontrol.failures) == 1 + def test_looponfail_multiple_errors(self, testdir, monkeypatch): + modcol = testdir.getmodulecol(""" + def test_one(): + assert 0 + """) + remotecontrol = RemoteControl(modcol.config) + orig_runsession = remotecontrol.runsession + + def runsession_dups(): + # twisted.trial test cases may report multiple errors. + failures, reports, collection_failed = orig_runsession() + print failures + return failures * 2, reports, collection_failed + + monkeypatch.setattr(remotecontrol, 'runsession', runsession_dups) + remotecontrol.loop_once() + assert len(remotecontrol.failures) == 1 + class TestFunctional: def test_fail_to_ok(self, testdir): diff -r db56e4b41e9bff631eec7b1f3db9dd5cf1b3e574 -r af184e3fe6c230fe46b99aca86707eba196957f7 xdist/looponfail.py --- a/xdist/looponfail.py +++ b/xdist/looponfail.py @@ -89,7 +89,11 @@ if collection_failed: reports = ["Collection failed, keeping previous failure set"] else: - self.failures = failures + uniq_failures = [] + for failure in failures: + if failure not in uniq_failures: + uniq_failures.append(failure) + self.failures = uniq_failures def repr_pytest_looponfailinfo(failreports, rootdirs): tr = py.io.TerminalWriter() Repository URL: https://bitbucket.org/hpk42/pytest-xdist/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ pytest-commit mailing list pytest-commit@python.org http://mail.python.org/mailman/listinfo/pytest-commit