Clone
1
run 2550 TEST commit 0b03f2d
ci-bot edited this page 2025-08-25 10:51:49 +00:00

Test Report

View CI Run 2550 | Commit 0b03f2d

🧪 Test Report

Generated on 2025-08-25 12:51:23 CEST

🧾 General Info

  • duration: 26.092449426651
  • root: /workspace/tligui_y/slic
  • environment: {}

📋 Summary

  • Failed: 6
  • Passed: 6
  • Total: 12
  • Collected: 12

🔎 Tests

Failed (6)
  • 📄 test_utils_hastepics.py

    Function: test_get_pv_connect_false_and_true

    • Test 1

      📌 Setup phase

      duration:

      0.0006567379459738731
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.097654741257429
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 42
      message: AssertionError: assert False
       +  where False = <PV 'TEST:SIM:VAL': not connected>.connected
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 42
        message: AssertionError
      

      longrepr:

      def test_get_pv_connect_false_and_true():
              name = "TEST:SIM:VAL"
              assert not _in_pv_cache(name)
      
              pv = get_pv(name, connect=False)
              assert isinstance(pv, PV)
      
              assert _in_pv_cache(name), "PV should be in _PVcache_ after get_pv(connect=False)"
              assert not pv.connected
      
              # Now actually connect
              pv2 = get_pv(name, connect=True, timeout=2.0)
      >       assert pv2.connected
      E       AssertionError: assert False
      E        +  where False = <PV 'TEST:SIM:VAL': not connected>.connected
      
      tests/test_utils_hastepics.py:42: AssertionError
      

      📌 Teardown phase

      duration:

      0.0006303181871771812
      

      outcome:

      passed
      

    Function: test_motor_init_strips_suffixes

    • Test 2

      📌 Setup phase

      duration:

      0.0003138100728392601
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023825708776712418
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 66
      message: AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'
      
        - TEST:SIM:M1
        + TEST:SIM:M1.
        ?            +
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 66
        message: AssertionError
      

      longrepr:

      def test_motor_init_strips_suffixes():
              m1 = Motor("TEST:SIM:M1.VAL")
      
              # Afficher les attributs de base de epics.Motor
              print("Attributes of epics.Motor:")
              print("  _init_list:", getattr(epics.Motor, "_init_list", []))
              print("  _extras:", getattr(epics.Motor, "_extras", {}))
      
              # Afficher les attributs de ton objet Motor
              print("\nAttributes of Motor (custom):")
              print("  _init_list:", getattr(m1, "_init_list", []))
              print("  _extras:", getattr(m1, "_extras", {}))
      
              # Afficher tous les attributs de epics.Motor (via dir())
              print("\nAll attributes of epics.Motor:")
              print(dir(epics.Motor))
      
              # Afficher tous les attributs de ta classe Motor (via dir())
              print("\nAll attributes of Motor (custom):")
              print(dir(m1))
      
      >       assert m1._prefix == "TEST:SIM:M1"
      E       AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'
      E         
      E         - TEST:SIM:M1
      E         + TEST:SIM:M1.
      E         ?            +
      
      tests/test_utils_hastepics.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.00017760787159204483
      

      outcome:

      passed
      

    Function: test_disabled_removed_relative_to_upstream

    • Test 4

      📌 Setup phase

      duration:

      0.00014634337276220322
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012569427490234375
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 87
      message: AssertionError: _extras is empty; expected at least one entry
      assert 0 > 0
       +  where 0 = len({})
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 87
        message: AssertionError
      

      longrepr:

      def test_disabled_removed_relative_to_upstream():
              m = Motor("TEST:SIM:M7")
      
              init_list = tuple(getattr(m, "_init_list", ()))
              extras    = dict(getattr(m, "_extras", {}))
      
              assert len(init_list) > 0, "_init_list is empty; expected at least one field"
      >       assert len(extras) > 0, "_extras is empty; expected at least one entry"
      E       AssertionError: _extras is empty; expected at least one entry
      E       assert 0 > 0
      E        +  where 0 = len({})
      
      tests/test_utils_hastepics.py:87: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002343691885471344
      

      outcome:

      passed
      

    Function: test_motor_val_connect_via_cache

    • Test 6

      📌 Setup phase

      duration:

      0.00015412550419569016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.00164463929832
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 145
      message: AssertionError: assert False
       +  where False = wait_for_connection(timeout=2.0)
       +    where wait_for_connection = <PV 'TEST:SIM:M5.VAL': not connected>.wait_for_connection
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 145
        message: AssertionError
      

      longrepr:

      def test_motor_val_connect_via_cache():
              motor_prefix = "TEST:SIM:M5"
              pvname = f"{motor_prefix}.VAL"
      
              assert not _in_pv_cache(pvname)
      
              m = Motor(motor_prefix)
      
              assert _in_pv_cache(pvname), f"{pvname} should be cached after Motor()"
      
              pv = _get_cached_pv(pvname)
              assert pv is not None
              assert not pv.connected
      
      >       assert pv.wait_for_connection(timeout=2.0)
      E       AssertionError: assert False
      E        +  where False = wait_for_connection(timeout=2.0)
      E        +    where wait_for_connection = <PV 'TEST:SIM:M5.VAL': not connected>.wait_for_connection
      
      tests/test_utils_hastepics.py:145: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022224150598049164
      

      outcome:

      passed
      

    Function: test_speedup_motor_instantiation

    • Test 8

      📌 Setup phase

      duration:

      0.00018653925508260727
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      6.002365905791521
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
      lineno: 254
      message: epics.motor.MotorException: TEST:SIM:M8 is not an Epics Motor
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 174
        message: None
      -   path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
        lineno: 254
        message: MotorException
      

      longrepr:

      def test_speedup_motor_instantiation():
              """On exige juste pas de grosse régression vs EPICS."""
              t0 = time.perf_counter()
              Motor("TEST:SIM:M6")
              t1 = time.perf_counter()
      
              t2 = time.perf_counter()
      >       epics.Motor("TEST:SIM:M8")
      
      tests/test_utils_hastepics.py:174: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <epics.Motor: TEST:SIM:M8.: 'None'>, name = 'TEST:SIM:M8', timeout = 3.0
      
          def __init__(self, name=None, timeout=3.0):
              if name is None:
                  raise MotorException("must supply motor name")
      
              if name.endswith('.VAL'):
                  name = name[:-4]
              if name.endswith('.'):
                  name = name[:-1]
      
              self._prefix = name
              device.Device.__init__(self, name, delim='.',
                                     attrs=self._init_list,
                                     timeout=timeout)
               # make sure this is really a motor!
              rectype = self.get('RTYP')
              if rectype != 'motor':
      >           raise MotorException("%s is not an Epics Motor" % name)
      E           epics.motor.MotorException: TEST:SIM:M8 is not an Epics Motor
      
      /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py:254: MotorException
      

      📌 Teardown phase

      duration:

      0.00047682132571935654
      

      outcome:

      passed
      

    Function: test_speedup_motor_PV

    • Test 9

      📌 Setup phase

      duration:

      0.0003078952431678772
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0031541697680950165
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 196
      message: AssertionError: assert False
       +  where False = <PV 'TEST:SIM:M14.VAL': not connected>.connected
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 196
        message: AssertionError
      

      longrepr:

      def test_speedup_motor_PV():
              # baseline EPICS
              m_slow = Motor("TEST:SIM:M14")
              t0 = time.perf_counter()
              pv_slow = m_slow.PV("VAL", connect=True)
              t1 = time.perf_counter()
      
              m_fast = Motor("TEST:SIM:M15")
              t2 = time.perf_counter()
              pv_fast = m_fast.PV("VAL", connect=False)
              t3 = time.perf_counter()
      
      >       assert pv_slow.connected
      E       AssertionError: assert False
      E        +  where False = <PV 'TEST:SIM:M14.VAL': not connected>.connected
      
      tests/test_utils_hastepics.py:196: AssertionError
      

      📌 Teardown phase

      duration:

      0.00025491323322057724
      

      outcome:

      passed
      
Passed (6)
  • 📄 test_utils_hastepics.py

    Function: test_motor_invalid_name_raises

    • Test 3

      📌 Setup phase

      duration:

      0.00018119625747203827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005610054358839989
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001232679933309555
      

      outcome:

      passed
      

    Function: test_motor_init_list_and_extras_build_handles_eagerly

    • Test 5

      📌 Setup phase

      duration:

      0.00019507110118865967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001598503440618515
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018022023141384125
      

      outcome:

      passed
      

    Function: test_speedup_get_pv

    • Test 7

      📌 Setup phase

      duration:

      0.0001765824854373932
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      5.0007679192349315
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022715702652931213
      

      outcome:

      passed
      

    Function: test_motor_init_list_attrs_created

    • Test 10

      📌 Setup phase

      duration:

      0.00017992593348026276
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014108233153820038
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015586335211992264
      

      outcome:

      passed
      

    Function: test_motor_extras_attrs_correct

    • Test 11

      📌 Setup phase

      duration:

      0.00019502826035022736
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013512130826711655
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013445690274238586
      

      outcome:

      passed
      

    Function: test_motor_callbacks_empty

    • Test 12

      📌 Setup phase

      duration:

      0.0001593455672264099
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011227047070860863
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000315619632601738
      

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_hastepics.py
      type: Module
    
tests (1 tests)
  • tests/test_utils_hastepics.py
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_hastepics.py::test_get_pv_connect_false_and_true
      type: Function
      lineno: 29
    -   nodeid: tests/test_utils_hastepics.py::test_motor_init_strips_suffixes
      type: Function
      lineno: 44
    -   nodeid: tests/test_utils_hastepics.py::test_motor_invalid_name_raises
      type: Function
      lineno: 74
    -   nodeid: tests/test_utils_hastepics.py::test_disabled_removed_relative_to_upstream
      type: Function
      lineno: 79
    -   nodeid: tests/test_utils_hastepics.py::test_motor_init_list_and_extras_build_handles_eagerly
      type: Function
      lineno: 100
    -   nodeid: tests/test_utils_hastepics.py::test_motor_val_connect_via_cache
      type: Function
      lineno: 130
    -   nodeid: tests/test_utils_hastepics.py::test_speedup_get_pv
      type: Function
      lineno: 149
    -   nodeid: tests/test_utils_hastepics.py::test_speedup_motor_instantiation
      type: Function
      lineno: 166
    -   nodeid: tests/test_utils_hastepics.py::test_speedup_motor_PV
      type: Function
      lineno: 183
    -   nodeid: tests/test_utils_hastepics.py::test_motor_init_list_attrs_created
      type: Function
      lineno: 205
    -   nodeid: tests/test_utils_hastepics.py::test_motor_extras_attrs_correct
      type: Function
      lineno: 216
    -   nodeid: tests/test_utils_hastepics.py::test_motor_callbacks_empty
      type: Function
      lineno: 228
    

⚠️ Warnings

Warnings nº1
message: invalid escape sequence \-
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py
lineno: 207
Warnings nº2
message: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py
lineno: 97