merge again

This commit is contained in:
holger krekel
2013-04-02 10:30:52 +02:00
2 changed files with 23 additions and 1 deletions

View File

@@ -206,6 +206,24 @@ class TestLooponFailing:
remotecontrol.loop_once() remotecontrol.loop_once()
assert len(remotecontrol.failures) == 1 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: class TestFunctional:
def test_fail_to_ok(self, testdir): def test_fail_to_ok(self, testdir):

View File

@@ -89,7 +89,11 @@ class RemoteControl(object):
if collection_failed: if collection_failed:
reports = ["Collection failed, keeping previous failure set"] reports = ["Collection failed, keeping previous failure set"]
else: 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): def repr_pytest_looponfailinfo(failreports, rootdirs):
tr = py.io.TerminalWriter() tr = py.io.TerminalWriter()