util
Fixtures
“Factory as fixture”
Functions
Classes
- get_marker_attrs(request)[source]
Return python attr values corresponding to the fixture.
Must be called from within the fixture code.
Python attrs must be passed using
pytest
marker e.g.:@pytest.mark.attrs({"pool": {"drift_correction": False}}) def test_pool(pool): assert pool.drift_correction = False
- get_marker_attribute_values(request)[source]
Return attribute values corresponding to the fixture.
Must be called from within the fixture code.
Attribute values must be passed using
pytest
marker e.g.:@pytest.mark.attribute_values({"mot01": {"Offset": 1.23}}) def test_motor(mot01): assert mot01.offset = 1.23
- get_marker_kwargs(request)[source]
Return creation kwargs corresponding to the fixture.
Must be called from within the fixture code.
Attribute values must be passed using
pytest
marker e.g.:@pytest.mark.kwargs({"motctrl01" {"properties": {"Prop2": 123}}}}) def test_motctrl(motctrl01): assert motctrl01.ctrl.Prop2 == 123
- pool(create_pool, request)[source]
Return a
Pool
object.By default it is loaded with built-in controller plugins. Can be customized with
attrs
andkwargs
markers.
- motctrl01(create_motor_ctrl, request)[source]
Return a
PoolController
object of motor type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- mot01(create_motor, motctrl01, request)
Return a
PoolMotor
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by themotctrl01
fixture.
- mot02(create_motor, motctrl01, request)
Return a
PoolMotor
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by themotctrl01
fixture.
- mot03(create_motor, motctrl01, request)
Return a
PoolMotor
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by themotctrl01
fixture.
- mot04(create_motor, motctrl01, request)
Return a
PoolMotor
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by themotctrl01
fixture.
- ctctrl01(create_counter_timer_ctrl, request)[source]
Return a
PoolController
object of counter/timer type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- ct01(create_counter_timer, ctctrl01, request)
Return a
PoolCounterTimer
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thectctrl01
fixture.
- ct02(create_counter_timer, ctctrl01, request)
Return a
PoolCounterTimer
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thectctrl01
fixture.
- ct03(create_counter_timer, ctctrl01, request)
Return a
PoolCounterTimer
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thectctrl01
fixture.
- ct04(create_counter_timer, ctctrl01, request)
Return a
PoolCounterTimer
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thectctrl01
fixture.
- zerodctrl01(create_zerod_ctrl, request)[source]
Return a
PoolController
object of 0D experimental channel type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- zerod01(create_zerod, zerodctrl01, request)
Return a
Pool0DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thezerodctrl01
fixture.
- zerod02(create_zerod, zerodctrl01, request)
Return a
Pool0DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thezerodctrl01
fixture.
- zerod03(create_zerod, zerodctrl01, request)
Return a
Pool0DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thezerodctrl01
fixture.
- zerod04(create_zerod, zerodctrl01, request)
Return a
Pool0DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thezerodctrl01
fixture.
- onedctrl01(create_oned_ctrl, request)[source]
Return a
PoolController
object of 1D experimental channel type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- oned01(create_oned, onedctrl01, request)
Return a
Pool1DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by theonedctrl01
fixture.
- twodctrl01(create_twod_ctrl, request)[source]
Return a
PoolController
object of 2D experimental channel type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- twod01(create_twod, twodctrl01, request)
Return a
Pool2DExpChannel
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thetwodctrl01
fixture.
- iorctrl01(create_ior_ctrl, request)[source]
Return a
PoolController
object of IORegister type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- ior01(create_ior, iorctrl01, request)
Return a
PoolIORegister
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by theiorctrl01
fixture.
- ior02(create_ior, iorctrl01, request)
Return a
PoolIORegister
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by theiorctrl01
fixture.
- tgctrl01(create_tg_ctrl, request)[source]
Return a
PoolController
object of TriggerGate type. By default it uses the dummy controller plugin. It resides in the pool object returned by thepool
fixture.
- tg01(create_tg, tgctrl01, request)
Return a
PoolTriggerGate
object which axis number is determined from the last two digits of the fixture name. It is handled by the controller object returned by thetgctrl01
fixture.
- slitctrl01(create_pseudo_motor_ctrl, mot01, mot02, request)[source]
Return a
PoolPseudoMotorController
object. By default it uses the slit controller plugin. It resides in the pool object returned by thepool
fixture.
- gap01(create_pseudo_motor, slitctrl01, request)[source]
Return a
PoolPseudoMotor
object corresponding to the Gap role. It is handled by the controller object returned by theslitctrl01
fixture.
- offset01(create_pseudo_motor, slitctrl01, request)[source]
Return a
PoolPseudoMotor
object corresponding to the Offset role. It is handled by the controller object returned by theslitctrl01
fixture.
- motgrp0102(create_motor_group, mot01, mot02, request)[source]
Return a
PoolMotorGroup
object handling motors returned by themot01
andmot02
fixtures. It resides in the pool object returned by thepool
fixture.
- create_pool()[source]
“Factory as fixture” for creating
Pool
objects.Can be used to create fixtures or directly from tests:
def test_pool(create_pool): pool = create_pool() pool.pool_path = "/path/to/tour/controller/classes"
- create_ctrl(pool)[source]
“Factory as fixture” for creating
PoolController
objects.Can be used to create fixtures or directly from tests:
def test_ctrl(create_ctrl): kwargs = { "name": "motctrl01", "klass": "TangoAttrMotorController", "library": "TangoAttrMotorCtrl.py" "type": "Motor", "properties": {} } ctrl = create_ctrl(kwargs) assert ctrl.is_online() == True
- create_motor_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of motor type.Can be used to create fixtures or directly from tests:
def test_motor_ctrl(create_motor_ctrl): kwargs = { "klass": "TangoAttrMotorController", "library": "TangoAttrMotorCtrl.py" } ctrl = create_motor_ctrl(kwargs) assert ctrl.is_online() == True
- create_counter_timer_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of counter/timer type.Can be used to create fixtures or directly from tests:
def test_counter_timer_ctrl(create_counter_timer_ctrl): kwargs = { "klass": "TangoAttrCTController", "library": "TangoAttrCTCtrl.py" } ctrl = create_counter_timer_ctrl(kwargs) assert ctrl.is_online() == True
- create_zerod_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of 0D experimental channel type.Can be used to create fixtures or directly from tests:
def test_zerod_ctrl(create_zerod_ctrl): kwargs = { "klass": "TangoAttrZeroDController", "library": "TangoAttrZeroDCtrl.py" } ctrl = create_zerod_ctrl(kwargs) assert ctrl.is_online() == True
- create_oned_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of 1D experimental channel type.Can be used to create fixtures or directly from tests:
def test_oned_ctrl(create_oned_ctrl): kwargs = { "klass": "OneDController", "library": "OneDCtrl.py" } ctrl = create_oned_ctrl(kwargs) assert ctrl.is_online() == True
- create_twod_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of 2D experimental channel type.Can be used to create fixtures or directly from tests:
def test_twod_ctrl(create_twod_ctrl): kwargs = { "klass": "TwoDController", "library": "TwoDCtrl.py" } ctrl = create_twod_ctrl(kwargs) assert ctrl.is_online() == True
- create_ior_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of IORegister type.Can be used to create fixtures or directly from tests:
def test_ior_ctrl(create_ior_ctrl): kwargs = { "klass": "TangoAttrIORController", "library": "TangoAttrIORCtrl.py" } ctrl = create_ior_ctrl(kwargs) assert ctrl.is_online() == True
- create_tg_ctrl(create_ctrl)[source]
“Factory as fixture” for creating
PoolController
objects of TriggerGate type.Can be used to create fixtures or directly from tests:
def test_tg_ctrl(create_tg_ctrl): kwargs = { "klass": "TriggerGateController", "library": "TriggerGateCtrl.py" } ctrl = create_tg_ctrl(kwargs) assert ctrl.is_online() == True
- create_element(request)[source]
“Factory as fixture” for creating
PoolElement
objects.Can be used to create fixtures or directly from tests:
def test_element(motctrl01, create_element): kwargs = { "type": "Motor", "name": "mot01", "ctrl_id": motctrl01.id, "axis": 1 } element = create_element(kwargs) assert element.state == State.On
- create_motor(create_element)[source]
“Factory as fixture” for creating
PoolMotor
objects.Can be used to create fixtures or directly from tests:
def test_motor(motctrl01, create_motor): motor = create_motor(motctrl01, axis=6) assert motor.state == State.On
- create_counter_timer(create_element)[source]
“Factory as fixture” for creating
PoolCounterTimer
objects.Can be used to create fixtures or directly from tests:
def test_counter_timer(ctctrl01, create_counter_timer): ct = create_counter_timer(ctctrl01, axis=1) assert ct.state == State.On
- create_zerod(create_element)[source]
“Factory as fixture” for creating
Pool0DExpChannel
objects.Can be used to create fixtures or directly from tests:
def test_zerod(zerodctrl01, create_zerod): zerod = create_zerod(zerodctrl01, axis=1) assert zerod.state == State.On
- create_oned(create_element)[source]
“Factory as fixture” for creating
Pool1DExpChannel
objects.Can be used to create fixtures or directly from tests:
def test_oned(onedctrl01, create_oned): oned = create_oned(onedctrl01, axis=1) assert oned.state == State.On
- create_twod(create_element)[source]
“Factory as fixture” for creating
Pool2DExpChannel
objects.Can be used to create fixtures or directly from tests:
def test_twod(twodctrl01, create_twod): twod = create_twod(twodctrl01, axis=1) assert twod.state == State.On
- create_ior(create_element)[source]
“Factory as fixture” for creating
PoolIORegister
objects.Can be used to create fixtures or directly from tests:
def test_ior(iorctrl01, create_ior): ior = create_ior(iorctrl01, axis=1) assert ior.state == State.On
- create_tg(create_element)[source]
“Factory as fixture” for creating
PoolTriggerGate
objects.Can be used to create fixtures or directly from tests:
def test_tg(tgctrl01, create_ior): tg = create_tg(tgctrl01, axis=1) assert tg.state == State.On
- class ActionEvent(element)[source]
Helper class for synchronizing tests with background actions.
Can be used for synchronizing actions start and finish events:
def test_motor_motion(mot01): motion_event = ActionEvent(mot01) mot01.position = 10 motion_event.started.wait(1) # here you could do some stuff motion_event.done.wait(1) assert mot01.position.value == 10