-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun_hardware_tests.py
More file actions
68 lines (53 loc) · 1.77 KB
/
run_hardware_tests.py
File metadata and controls
68 lines (53 loc) · 1.77 KB
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
import argparse
import sys
import pytest
def speed_test(hardware_type, usb_handle):
param = [
"./iqmotion/hardware_tests/test_generic.py",
"./iqmotion/hardware_tests/test_speed.py",
]
param.append("--usb_handle={}".format(usb_handle))
param.append("--hardware_type={}".format(hardware_type))
pytest.main(param)
def servo_test(hardware_type, usb_handle):
param = [
"./iqmotion/hardware_tests/test_generic.py",
"./iqmotion/hardware_tests/test_servo.py",
"-s",
]
param.append("--usb_handle={}".format(usb_handle))
param.append("--hardware_type={}".format(hardware_type))
pytest.main(param)
def step_dir_test(hardware_type, usb_handle):
param = [
"./iqmotion/hardware_tests/test_generic.py",
"./iqmotion/hardware_tests/test_step_dir.py",
]
param.append("--usb_handle={}".format(usb_handle))
param.append("--hardware_type={}".format(hardware_type))
pytest.main(param)
def main(hardware_type, usb_handle):
test_types = {
"speed": speed_test,
"servo": servo_test,
"step_dir": step_dir_test,
}
if hardware_type not in test_types.keys():
print("THIS TYPE IS NOT HANDLED HARDWARE TEST")
sys.exit()
test_types[hardware_type](hardware_type, usb_handle)
if __name__ == "__main__":
handled_hardware_types = ["speed", "servo", "step_dir"]
parser = argparse.ArgumentParser()
parser.add_argument(
"hardware_type",
help="Hardware used to run the test",
choices=handled_hardware_types,
)
parser.add_argument(
"--usb_handle",
help="Usb handle, defaults to /dev/ttyUSB0",
default="/dev/ttyUSB0",
)
args = parser.parse_args()
main(args.hardware_type, args.usb_handle)