From e97336a40d743128f7d3ccaab6a5c8b39f175b6e Mon Sep 17 00:00:00 2001 From: matejcik Date: Fri, 10 Jul 2020 11:52:19 +0200 Subject: [PATCH] tests: make device_handler resilient to interrupting tests --- tests/conftest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index 8f2a00c5c..b3f8d113b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -259,7 +259,12 @@ def device_handler(client, request): device_handler = BackgroundDeviceHandler(client) yield device_handler - # make sure all background tasks are done + # if test did not finish, e.g. interrupted by Ctrl+C, the pytest_runtest_makereport + # did not create the attribute we need + if not hasattr(request.node, "rep_call"): + return + + # if test finished, make sure all background tasks are done finalized_ok = device_handler.check_finalize() if request.node.rep_call.passed and not finalized_ok: raise RuntimeError("Test did not check result of background task")