Skip to content

Commit 204a45c

Browse files
author
Alexander Merkle
committed
Tests: add test for Lauterbach Resources and Driver
1 parent fb5f6dc commit 204a45c

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ dev = [
9595
# labgrid[kasa]
9696
"python-kasa>=0.4.0",
9797

98+
# labgrid[lauterbach]
99+
"lauterbach-trace32-pystart>=0.1.7",
100+
98101
# labgrid[modbus]
99102
"pyModbusTCP>=0.1.10",
100103

tests/test_lauterbach.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import os
2+
import pytest
3+
4+
from collections import namedtuple
5+
6+
from labgrid.driver.lauterbachdriver import LauterbachDriver
7+
from labgrid.resource.udev import USBLauterbachDebugger
8+
from labgrid.resource.lauterbach import NetworkLauterbachDebugger, RemoteUSBLauterbachDebugger
9+
from labgrid.util.helper import get_uname_machine
10+
11+
pytest.importorskip("lauterbach.trace32.pystart")
12+
13+
PseudoUSBDevice = namedtuple("Device", ["sys_name", "sys_path", "subsystem", "device_type", "properties"])
14+
PSEUDOUSB = PseudoUSBDevice("1-12", "/dev/null", "usb", "usb_device", {"BUSNUM" : "1", "DEVNUM" : "12"})
15+
16+
# for most of the tests it's enough to specify a valid directory
17+
os.environ["T32SYS"] = os.environ.get("T32SYS", "/tmp")
18+
19+
def check_t32tcpusb_present():
20+
if get_uname_machine()!="amd64":
21+
return False
22+
tcpusb = os.path.join(os.environ["T32SYS"], "bin/pc_linux64/t32tcpusb")
23+
if not os.path.isfile(tcpusb):
24+
return False
25+
return True
26+
27+
def test_lauterbach_usb_resource(target):
28+
r = USBLauterbachDebugger(target, name=None, match={"sys_name": "1-12"})
29+
30+
def test_lauterbach_network_resource(target):
31+
r = NetworkLauterbachDebugger(target, name=None, node="test")
32+
33+
def test_lauterbach_usb_driver_activate(target):
34+
r = USBLauterbachDebugger(target, name=None, match={"sys_name": "1-12"}, device=PSEUDOUSB)
35+
r.avail = True
36+
d = LauterbachDriver(target, name=None)
37+
target.activate(d)
38+
39+
assert(d.connection)
40+
41+
target.deactivate(d)
42+
43+
def test_lauterbach_network_driver_activate(target):
44+
r = NetworkLauterbachDebugger(target, name=None, node="test")
45+
r.avail = True
46+
d = LauterbachDriver(target, name=None)
47+
target.activate(d)
48+
49+
assert(d.connection)
50+
51+
target.deactivate(d)
52+
53+
@pytest.mark.skipif(not check_t32tcpusb_present(),
54+
reason="t32tcpusb not installed on machine")
55+
@pytest.mark.skipif(True, reason="don't know how to test NetworkUSB.. resources")
56+
def test_lauterbach_networkusb_driver_activate(target):
57+
r = RemoteUSBLauterbachDebugger(
58+
target,
59+
name=None,
60+
host="localhost",
61+
busnum=0,
62+
devnum=1,
63+
path='0:1',
64+
vendor_id=0x0,
65+
model_id=0x0
66+
)
67+
r.avail = True
68+
d = LauterbachDriver(target, name=None)
69+
target.activate(d)
70+
71+
assert(d.connection)
72+
assert(d.t32tcpusb)

0 commit comments

Comments
 (0)