[PATCH v2] test/py: fix runtest wrapper for pytest 6
Stephen Warren
swarren at wwwdotorg.org
Sun Jan 31 04:12:18 CET 2021
The implementation of pytest_runtest_protocol() must call
pytest_runtest_logstart() and pytest_runtest_logfinish(). This appears to
be necessary even in pytest 5.2.1 judging by the default version of
pytest_runtest_protocol(), but evidently some form of code reorganization
in pytest only made this have a practical effect in the newer version. I'd
previously been under the impression that 100% of the required work of
pytest_runtest_protocol() was handled by the fact it called
runtestprotocol() as its implementation. However, it appears that custom
implementations do need to do a little more than this.
Reported-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
---
v2: Rebased on a marginally newer commit, hence removed the change to
test/py/test.py. Cleaned up return statement.
---
test/py/conftest.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/test/py/conftest.py b/test/py/conftest.py
index dc92c0be32ee..9bfd9263455f 100644
--- a/test/py/conftest.py
+++ b/test/py/conftest.py
@@ -554,7 +554,10 @@ def pytest_runtest_protocol(item, nextitem):
"""
log.get_and_reset_warning()
+ ihook = item.ihook
+ ihook.pytest_runtest_logstart(nodeid=item.nodeid, location=item.location)
reports = runtestprotocol(item, nextitem=nextitem)
+ ihook.pytest_runtest_logfinish(nodeid=item.nodeid, location=item.location)
was_warning = log.get_and_reset_warning()
# In pytest 3, runtestprotocol() may not call pytest_runtest_setup() if
@@ -623,4 +626,4 @@ def pytest_runtest_protocol(item, nextitem):
if failure_cleanup:
console.cleanup_spawn()
- return reports
+ return True
--
2.25.1
More information about the U-Boot
mailing list