Skip to content

Commit f21d593

Browse files
author
Alexander Merkle
committed
Tests: add test for Lauterbach Resources and Driver
1 parent 7553acf commit f21d593

File tree

2 files changed

+74
-0
lines changed

2 files changed

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

0 commit comments

Comments
 (0)