Skip to content

Commit 628a0f4

Browse files
committed
test/labgrid: Log if the tests are retrying
These tests are written in a way, that they can each block up to five minutes. Thus: Let's mark them as slow. And also add logging to the test case, so that during interactive testing the user gets some feedback on whats going on.
1 parent b77c08e commit 628a0f4

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

tests/test_labgrid_resources.py

+17-8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
import time
23

34
import pytest
@@ -9,15 +10,15 @@
910
# resources on the fly.
1011

1112

13+
@pytest.mark.slow
1214
def test_labgrid_resources_simple(strategy, shell, check):
1315
"""Test non-managed resources."""
1416

15-
def retry_loop():
17+
def retry_loop(logger):
1618
rpm = RemotePlaceManager.get()
1719
exporter = strategy.target_hostname
1820

19-
for _ in range(300):
20-
time.sleep(1)
21+
for _ in range(300 // 15):
2122
rpm.poll()
2223

2324
try:
@@ -44,26 +45,30 @@ def retry_loop():
4445
except Exception:
4546
pass
4647

48+
logger.info("(Still) waiting for labgrid resources to appear...")
49+
time.sleep(15)
50+
4751
pytest.fail("Failed to get resources, even after trying for 5 minutes")
4852

49-
serial_port_params, power_port_params, _out_0, _out_1 = retry_loop()
53+
logger = logging.getLogger("test_labgrid_resources_simple")
54+
serial_port_params, power_port_params, _out_0, _out_1 = retry_loop(logger)
5055

5156
with check:
5257
assert serial_port_params["extra"]["path"].startswith("/dev/ttySTM")
5358
with check:
5459
assert power_port_params["model"] == "rest"
5560

5661

62+
@pytest.mark.slow
5763
def test_labgrid_resources_usb(strategy, shell, eet):
5864
"""Test ManagedResources (udev)."""
5965

60-
def retry_loop():
66+
def retry_loop(logger):
6167
rpm = RemotePlaceManager.get()
6268
exporter = strategy.target_hostname
6369
match = ResourceMatch.fromstr(f"{exporter}/lxatac-usb-ports-p*/*")
6470

65-
for _ in range(300):
66-
time.sleep(1)
71+
for _ in range(300 // 15):
6772
rpm.poll()
6873

6974
try:
@@ -81,11 +86,15 @@ def retry_loop():
8186
except Exception:
8287
pass
8388

89+
logger.info("(Still) waiting for labgrid resources to appear...")
90+
time.sleep(15)
91+
8492
pytest.fail("Failed to get resources, even after trying for 5 minutes")
8593

8694
if eet:
8795
eet.link("USB1_IN -> USB1_OUT, USB2_IN -> USB2_OUT, USB3_IN -> USB3_OUT")
88-
usb_resources = retry_loop()
96+
logger = logging.getLogger("test_labgrid_resources_usb")
97+
usb_resources = retry_loop(logger)
8998

9099
# make sure at least one USB resource is available
91100
assert usb_resources != []

0 commit comments

Comments
 (0)