Always call print_imap_structure when test fails

This commit is contained in:
Hocuri
2020-05-28 20:27:25 +02:00
parent 3cc5aef016
commit 232f1d4f86
2 changed files with 20 additions and 4 deletions

View File

@@ -12,7 +12,7 @@ import tempfile
import pytest
import requests
from . import Account, const
from . import Account, const, direct_imap
from .capi import lib
from .events import FFIEventLogger, FFIEventTracker
from _pytest._code import Source
@@ -379,7 +379,10 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, data):
am = AccountMaker()
request.addfinalizer(am.finalize)
return am
yield am
if request.node.rep_call.failed:
for ac in am._accounts:
direct_imap.print_imap_structure_ac(ac)
class BotProcess:
@@ -448,3 +451,15 @@ def lp():
def step(self, msg):
print("-" * 5, "step " + msg, "-" * 5)
return Printer()
@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
# execute all other hooks to obtain the report object
outcome = yield
rep = outcome.get_result()
# set a report attribute for each phase of a call, which can
# be "setup", "call", "teardown"
setattr(item, "rep_" + rep.when, rep)