Commit b0a928a1 authored by Stephen Warren's avatar Stephen Warren Committed by Tom Rini

test/py: ensure a log section exists for skipped tests

In pytest 3, runtestprotocol() may not call pytest_runtest_setup() if
the test is skipped. That call is required to create a section for the
test in the log file. If this is skipped, the call to log.end_section()
at the tail of pytest_runtest_protocol() will throw an exception. This
patch ensures that a log section always exists, both to avoid the
exception and to ensure that a consistently structured log file is
always created.

Cc: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reported-by: default avatarStefan Brüns <stefan.bruens@rwth-aachen.de>
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Tested-by: default avatarTom Rini <trini@konsulko.com>
parent 3431b392
......@@ -431,6 +431,9 @@ def setup_buildconfigspec(item):
if not ubconfig.buildconfig.get('config_' + option.lower(), None):
pytest.skip('.config feature not enabled')
def start_test_section(item):
anchors[item.name] = log.start_section(item.name)
def pytest_runtest_setup(item):
"""pytest hook: Configure (set up) a test item.
......@@ -444,7 +447,7 @@ def pytest_runtest_setup(item):
Nothing.
"""
anchors[item.name] = log.start_section(item.name)
start_test_section(item)
setup_boardspec(item)
setup_buildconfigspec(item)
......@@ -464,6 +467,14 @@ def pytest_runtest_protocol(item, nextitem):
reports = runtestprotocol(item, nextitem=nextitem)
# In pytest 3, runtestprotocol() may not call pytest_runtest_setup() if
# the test is skipped. That call is required to create the test's section
# in the log file. The call to log.end_section() requires that the log
# contain a section for this test. Create a section for the test if it
# doesn't already exist.
if not item.name in anchors:
start_test_section(item)
failure_cleanup = False
test_list = tests_passed
msg = 'OK'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment