-
Notifications
You must be signed in to change notification settings - Fork 199
/
Copy pathtest_export.py
112 lines (82 loc) · 2.73 KB
/
test_export.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import pytest
from labgrid.resource import Resource, NetworkSerialPort, TFTPProvider
from labgrid.resource.remote import RemoteNetworkInterface, RemoteTFTPProvider
from labgrid.driver import Driver, SerialDriver, NetworkInterfaceDriver, TFTPProviderDriver
from labgrid.strategy import Strategy
from labgrid.binding import StateError
class ResourceA(Resource):
pass
class DriverA(Driver):
bindings = {"res": ResourceA}
@Driver.check_bound
def get_export_vars(self):
return {
"a": "b",
}
class StrategyA(Strategy):
bindings = {
"drv": DriverA,
}
def test_export(target):
ra = ResourceA(target, "resource")
d = DriverA(target, "driver")
s = StrategyA(target, "strategy")
exported = target.export()
assert exported == {
"LG__DRV_A": "b",
}
target.activate(d)
with pytest.raises(StateError):
d.get_export_vars()
class StrategyB(Strategy):
bindings = {
"drv": DriverA,
}
def prepare_export(self):
return {
self.drv: "custom_name",
}
def test_export_custom(target):
ra = ResourceA(target, "resource")
d = DriverA(target, "driver")
s = StrategyB(target, "strategy")
exported = target.export()
assert exported == {
"LG__CUSTOM_NAME_A": "b",
}
def test_export_network_serial(target):
NetworkSerialPort(target, None, host='testhost', port=12345, speed=115200)
SerialDriver(target, None)
exported = target.export()
assert exported == {
'LG__SERIALDRIVER_HOST': 'testhost',
'LG__SERIALDRIVER_PORT': '12345',
'LG__SERIALDRIVER_PROTOCOL': 'rfc2217',
'LG__SERIALDRIVER_SPEED': '115200'
}
def test_export_remote_network_interface(target):
RemoteNetworkInterface(target, None, host='testhost', ifname='wlan0')
NetworkInterfaceDriver(target, "netif")
exported = target.export()
assert exported == {
'LG__NETIF_HOST': 'testhost',
'LG__NETIF_IFNAME': 'wlan0'
}
def test_export_tftp_provider(target):
TFTPProvider(target, None, internal='/srv/tftp/testboard/', external='testboard/')
TFTPProviderDriver(target, "tftp")
exported = target.export()
assert exported == {
'LG__TFTP_HOST': 'localhost',
'LG__TFTP_INTERNAL': '/srv/tftp/testboard/',
'LG__TFTP_EXTERNAL': 'testboard/',
}
def test_export_remote_tftp_provider(target):
RemoteTFTPProvider(target, None, host='testhost', internal='/srv/tftp/testboard/', external='testboard/')
TFTPProviderDriver(target, "tftp")
exported = target.export()
assert exported == {
'LG__TFTP_HOST': 'testhost',
'LG__TFTP_INTERNAL': '/srv/tftp/testboard/',
'LG__TFTP_EXTERNAL': 'testboard/',
}