101 lines
2.0 KiB
Python
Executable File
101 lines
2.0 KiB
Python
Executable File
# Run a selection of common tests
|
|
import pytest
|
|
|
|
from src.move import *
|
|
from src.sinqMotor.limits import *
|
|
from src.sinqMotor.speed import *
|
|
from src.home import *
|
|
from src.sinqMotor.turboPmac.reset import reset
|
|
|
|
|
|
def test_reset(motor):
|
|
reset(motor, 5)
|
|
reset(motor)
|
|
|
|
|
|
@pytest.mark.stresstest
|
|
def test_reset_stress(motor):
|
|
for _ in range(50):
|
|
test_reset(motor)
|
|
|
|
|
|
def test_move_to_low_limit_switch(motor):
|
|
reset(motor)
|
|
move_to_low_limit_switch(motor)
|
|
|
|
|
|
def test_move_to_high_limit_switch(motor):
|
|
reset(motor)
|
|
move_to_high_limit_switch(motor)
|
|
|
|
|
|
def test_move_while_move_same_direction(motor):
|
|
reset(motor)
|
|
move_while_move(motor, -3000, -1000, 2)
|
|
|
|
|
|
def test_move_while_move_opposite_direction(motor):
|
|
reset(motor)
|
|
move_while_move(motor, 1000, -1000, 2)
|
|
|
|
|
|
def test_stop(motor):
|
|
reset(motor)
|
|
stop(motor, 3000)
|
|
|
|
|
|
def test_stop_then_move(motor):
|
|
reset(motor)
|
|
stop_then_move(motor, 100)
|
|
|
|
|
|
@pytest.mark.stresstest
|
|
def test_stop_then_move_stress(motor):
|
|
reset(motor)
|
|
for _ in range(50):
|
|
stop_then_move(motor, 100)
|
|
stop_then_move(motor, 0)
|
|
|
|
|
|
def test_speed_fields_valid(motor):
|
|
reset(motor)
|
|
speed_fields_valid(motor)
|
|
|
|
|
|
def test_set_minspeed_maxspeed_meanspeed(motor):
|
|
reset(motor)
|
|
set_minspeed_maxspeed_meanspeed(motor)
|
|
|
|
|
|
def test_set_invalid_speed_above_min_below_max(motor):
|
|
reset(motor)
|
|
set_invalid_speed_above_min_below_max(motor)
|
|
|
|
|
|
def test_set_speed_and_move(motor):
|
|
reset(motor)
|
|
set_speed_and_move(motor, motor.get_pv('maxspeed'), 10)
|
|
set_speed_and_move(motor, 0.5*motor.get_pv('maxspeed'), 0)
|
|
|
|
|
|
@pytest.mark.stresstest
|
|
def test_set_speed_and_move_stress(motor):
|
|
reset(motor)
|
|
for _ in range(50):
|
|
set_speed_and_move(motor, motor.get_pv('maxspeed'), 10)
|
|
set_speed_and_move(motor, 0.5*motor.get_pv('maxspeed'), 0)
|
|
|
|
|
|
def test_targets_outside_limits(motor):
|
|
reset(motor)
|
|
targets_outside_limits(motor)
|
|
|
|
|
|
def test_home(motor):
|
|
reset(motor, 1)
|
|
home(motor, True)
|
|
|
|
|
|
# def test_reread_limits_from_hw(motor):
|
|
# reread_limits_from_hw(motor)
|