Clone
1
run 2562 TEST commit 00a35f3
ci-bot edited this page 2025-08-25 12:17:44 +00:00

Test Report

View CI Run 2562 | Commit 00a35f3

🧪 Test Report

Generated on 2025-08-25 14:17:16 CEST

🧾 General Info

  • duration: 26.848019123077393
  • 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.0007010446861386299
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.1056516729295254
      

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

      outcome:

      passed
      

    Function: test_motor_init_strips_suffixes

    • Test 2

      📌 Setup phase

      duration:

      0.0003603510558605194
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.003068835474550724
      

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

      outcome:

      passed
      

    Function: test_disabled_removed_relative_to_upstream

    • Test 4

      📌 Setup phase

      duration:

      0.00017063505947589874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0016587497666478157
      

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

      outcome:

      passed
      

    Function: test_motor_val_connect_via_cache

    • Test 6

      📌 Setup phase

      duration:

      0.00016280543059110641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.001796403899789
      

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

      outcome:

      passed
      

    Function: test_speedup_motor_instantiation

    • Test 8

      📌 Setup phase

      duration:

      0.00020910333842039108
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      6.002885635942221
      

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

      outcome:

      passed
      

    Function: test_speedup_motor_PV

    • Test 9

      📌 Setup phase

      duration:

      0.00024634692817926407
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002595829777419567
      

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

      outcome:

      passed
      
Passed (6)
  • 📄 test_utils_hastepics.py

    Function: test_motor_invalid_name_raises

    • Test 3

      📌 Setup phase

      duration:

      0.0001909220591187477
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007165307179093361
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001410115510225296
      

      outcome:

      passed
      

    Function: test_motor_init_list_and_extras_build_handles_eagerly

    • Test 5

      📌 Setup phase

      duration:

      0.00018456391990184784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015964126214385033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015765801072120667
      

      outcome:

      passed
      

    Function: test_speedup_get_pv

    • Test 7

      📌 Setup phase

      duration:

      0.00019431300461292267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      5.000758139416575
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002213073894381523
      

      outcome:

      passed
      

    Function: test_motor_init_list_attrs_created

    • Test 10

      📌 Setup phase

      duration:

      0.00018126610666513443
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012007001787424088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013623852282762527
      

      outcome:

      passed
      

    Function: test_motor_extras_attrs_correct

    • Test 11

      📌 Setup phase

      duration:

      0.00015635695308446884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010699257254600525
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012218859046697617
      

      outcome:

      passed
      

    Function: test_motor_callbacks_empty

    • Test 12

      📌 Setup phase

      duration:

      0.00016745086759328842
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011327136307954788
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002881120890378952
      

      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