Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bliss bliss
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 542
    • Issues 542
    • List
    • Boards
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 150
    • Merge requests 150
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • BlissBliss
  • blissbliss
  • Issues
  • #1973
Closed
Open
Issue created Aug 28, 2020 by Wout De Nolf@denolfMaintainer

[CI] no property 'steps_per_unit` in config

https://gitlab.esrf.fr/bliss/bliss/-/jobs/132975

__________________________ test_SampCnt_mode_SAMPLES ___________________________

session = <bliss.common.session.Session object at 0x7f14e5165f50>

    def test_SampCnt_mode_SAMPLES(session):
        o = Timed_Diode()
        ax = SoftAxis("test-sample-pos", o)
        c_samp = SoftCounter(o, "read", name="test-samp", mode=SamplingMode.SAMPLES)
>       s = ascan(ax, 1, 9, 8, .1, c_samp)

tests/test_counters.py:266: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
bliss/common/utils.py:948: in wrapped_function
    )(function)(*args, **kwargs)
bliss/common/utils.py:906: in wrapped_function
    raise e
bliss/common/utils.py:894: in wrapped_function
    return function(*args, **kwargs)
bliss/common/utils.py:859: in wrapped_function
    return function(*args, **kwargs)
/opt/conda/envs/testenv/lib/python3.7/site-packages/typeguard/__init__.py:784: in wrapper
    retval = func(*args, **kwargs)
bliss/common/scans/step_by_step.py:130: in ascan
    scan_info=scan_info,
/opt/conda/envs/testenv/lib/python3.7/site-packages/typeguard/__init__.py:784: in wrapper
    retval = func(*args, **kwargs)
bliss/common/scans/step_by_step.py:538: in anscan
    scan_params=scan_params,
bliss/common/utils.py:948: in wrapped_function
    )(function)(*args, **kwargs)
bliss/common/utils.py:906: in wrapped_function
    raise e
bliss/common/utils.py:894: in wrapped_function
    return function(*args, **kwargs)
bliss/common/utils.py:859: in wrapped_function
    return function(*args, **kwargs)
/opt/conda/envs/testenv/lib/python3.7/site-packages/typeguard/__init__.py:784: in wrapper
    retval = func(*args, **kwargs)
bliss/common/scans/step_by_step.py:402: in lookupscan
    top_master=VariableStepTriggerMaster(*motors_positions),
bliss/scanning/acquisition/motor.py:510: in __init__
    _axis.controller.check_limits(_axis, pos_list)
bliss/controllers/motor.py:132: in check_limits
    self._check_limits(axis, position)
bliss/controllers/motor.py:144: in _check_limits
    ll, hl = axis.limits
bliss/common/axis.py:646: in func_wrapper
    self.controller._initialize_axis(self)
bliss/controllers/motor.py:198: in _initialize_axis
    self._init_settings(axis)
bliss/controllers/motor.py:232: in _init_settings
    if axis.config.get(setting_name) is None:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <bliss.common.motor_config.StaticConfig object at 0x7f14e46fef90>
property_name = 'steps_per_unit', converter = <class 'str'>
default = <bliss.common.utils.Null object at 0x7f14f639c310>

    def get(self, property_name, converter=str, default=NO_VALUE):
        """Get static property
    
        Args:
            property_name (str): Property name
            converter (function): Default :func:`str`, Conversion function from configuration format to Python
            default: Default: NO_VALUE, default value for property
            inherited (bool): Default: False, Property can be inherited
    
        Returns:
            Property value
    
        Raises:
            KeyError, ValueError
        """
    
        if self.__config_has_changed:
            self.reload()
            self.__config_has_changed = False
    
        property_value = self.config_dict.get(property_name)
        if property_value is not None:
            if callable(converter):
                return converter(property_value)
            else:
                return property_value
        else:
            if default != self.NO_VALUE:
                return default
    
>           raise KeyError("no property '%s` in config" % property_name)
E           KeyError: "no property 'steps_per_unit` in config"

bliss/common/motor_config.py:65: KeyError
Assignee
Assign to
Time tracking