mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-28 00:11:32 +00:00
test/py: Allow tests to be marked single-threaded only
Add a new 'singlethread' marker to allow tests to be skipped when running in parallel. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
44384c70f9
commit
cc85d905cd
2 changed files with 18 additions and 0 deletions
|
@ -521,6 +521,22 @@ def setup_requiredtool(item):
|
||||||
if not tool_is_in_path(tool):
|
if not tool_is_in_path(tool):
|
||||||
pytest.skip('tool "%s" not in $PATH' % tool)
|
pytest.skip('tool "%s" not in $PATH' % tool)
|
||||||
|
|
||||||
|
def setup_singlethread(item):
|
||||||
|
"""Process any 'singlethread' marker for a test.
|
||||||
|
|
||||||
|
Skip this test if running in parallel.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
item: The pytest test item.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Nothing.
|
||||||
|
"""
|
||||||
|
for single in item.iter_markers('singlethread'):
|
||||||
|
worker_id = os.environ.get("PYTEST_XDIST_WORKER")
|
||||||
|
if worker_id and worker_id != 'master':
|
||||||
|
pytest.skip('must run single-threaded')
|
||||||
|
|
||||||
def start_test_section(item):
|
def start_test_section(item):
|
||||||
anchors[item.name] = log.start_section(item.name)
|
anchors[item.name] = log.start_section(item.name)
|
||||||
|
|
||||||
|
@ -541,6 +557,7 @@ def pytest_runtest_setup(item):
|
||||||
setup_boardspec(item)
|
setup_boardspec(item)
|
||||||
setup_buildconfigspec(item)
|
setup_buildconfigspec(item)
|
||||||
setup_requiredtool(item)
|
setup_requiredtool(item)
|
||||||
|
setup_singlethread(item)
|
||||||
|
|
||||||
def pytest_runtest_protocol(item, nextitem):
|
def pytest_runtest_protocol(item, nextitem):
|
||||||
"""pytest hook: Called to execute a test.
|
"""pytest hook: Called to execute a test.
|
||||||
|
|
|
@ -11,3 +11,4 @@ markers =
|
||||||
notbuildconfigspec: U-Boot: Describes required disabled Kconfig options.
|
notbuildconfigspec: U-Boot: Describes required disabled Kconfig options.
|
||||||
requiredtool: U-Boot: Required host tools for a test.
|
requiredtool: U-Boot: Required host tools for a test.
|
||||||
slow: U-Boot: Specific test will run slowly.
|
slow: U-Boot: Specific test will run slowly.
|
||||||
|
singlethread: Cannot run in parallel
|
||||||
|
|
Loading…
Add table
Reference in a new issue