Clone
1
run 2540 TEST commit 10ed54e
ci-bot edited this page 2025-08-25 10:13:57 +00:00

Test Report

View CI Run 2540 | Commit 10ed54e

🧪 Test Report

Generated on 2025-08-25 12:13:32 CEST

🧾 General Info

  • duration: 25.994844675064087
  • 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.0006529353559017181
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.096881490200758
      

      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.0005248449742794037
      

      outcome:

      passed
      

    Function: test_motor_init_strips_suffixes

    • Test 2

      📌 Setup phase

      duration:

      0.00029591377824544907
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002514543943107128
      

      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.00018903426826000214
      

      outcome:

      passed
      

    Function: test_disabled_removed_relative_to_upstream

    • Test 4

      📌 Setup phase

      duration:

      0.0001466851681470871
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013050558045506477
      

      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.0001661377027630806
      

      outcome:

      passed
      

    Function: test_motor_val_connect_via_cache

    • Test 6

      📌 Setup phase

      duration:

      0.0001371661201119423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0014836797490716
      

      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.00022757239639759064
      

      outcome:

      passed
      

    Function: test_speedup_motor_instantiation

    • Test 8

      📌 Setup phase

      duration:

      0.0001680338755249977
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      6.002418522723019
      

      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.0002402830868959427
      

      outcome:

      passed
      

    Function: test_speedup_motor_PV

    • Test 9

      📌 Setup phase

      duration:

      0.0001666620373725891
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0021195709705352783
      

      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.00019112322479486465
      

      outcome:

      passed
      
Passed (6)
  • 📄 test_utils_hastepics.py

    Function: test_motor_invalid_name_raises

    • Test 3

      📌 Setup phase

      duration:

      0.00017421413213014603
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005415026098489761
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001186225563287735
      

      outcome:

      passed
      

    Function: test_motor_init_list_and_extras_build_handles_eagerly

    • Test 5

      📌 Setup phase

      duration:

      0.00015595927834510803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001487107016146183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012909900397062302
      

      outcome:

      passed
      

    Function: test_speedup_get_pv

    • Test 7

      📌 Setup phase

      duration:

      0.00017521250993013382
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      5.000564053654671
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017805863171815872
      

      outcome:

      passed
      

    Function: test_motor_init_list_attrs_created

    • Test 10

      📌 Setup phase

      duration:

      0.0001589655876159668
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011768341064453125
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013627391308546066
      

      outcome:

      passed
      

    Function: test_motor_extras_attrs_correct

    • Test 11

      📌 Setup phase

      duration:

      0.0001574140042066574
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010346565395593643
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012134667485952377
      

      outcome:

      passed
      

    Function: test_motor_callbacks_empty

    • Test 12

      📌 Setup phase

      duration:

      0.00013131555169820786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011623604223132133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024518370628356934
      

      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