diff --git a/markdown/TEST-REPORT.md b/markdown/TEST-REPORT.md index 39bd33feb..37df50e9b 100644 --- a/markdown/TEST-REPORT.md +++ b/markdown/TEST-REPORT.md @@ -1,35 +1,34 @@ # πŸ§ͺ Test Report -*Generated on 2025-08-25 15:52:52 CEST* +*Generated on 2025-08-25 16:56:20 CEST* ## 🧾 General Info -- **duration**: 26.528825759887695 +- **duration**: 4.885369062423706 - **root**: /workspace/tligui_y/slic - **environment**: {} ## πŸ“‹ Summary -- **Failed**: 6 -- **Passed**: 6 -- **Total**: 12 -- **Collected**: 12 +- **Passed**: 7 +- **Total**: 7 +- **Collected**: 7 ## πŸ”Ž Tests
-❌ Failed (6) +βœ… Passed (7) -
- πŸ“„ test_utils_hastepics.py + πŸ“„ test_utils_dbusnotify.py - ↳ Function: test_get_pv_connect_false_and_true + ↳ Function: test_notify_create -
- ❌ Test 1 + βœ… Test 1 **_*πŸ“Œ Setup phase*_** **duration:** ```python - 0.0007642786949872971 + 3.5844745840877295 ``` **outcome:** @@ -43,52 +42,13 @@ **duration:** ```python - 2.111914704553783 + 0.004959088750183582 ``` **outcome:** ```python - failed - ``` - - **crash:** - - ```python - path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py - lineno: 42 - message: AssertionError: assert False - + where False = .connected - ``` - - **traceback:** - - ```python - - path: tests/test_utils_hastepics.py - lineno: 42 - message: AssertionError - ``` - - **longrepr:** - - ```python - 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 = .connected - - tests/test_utils_hastepics.py:42: AssertionError + passed ``` **_*πŸ“Œ Teardown phase*_** @@ -96,7 +56,7 @@ **duration:** ```python - 0.0006133858114480972 + 0.00025586970150470734 ``` **outcome:** @@ -105,16 +65,16 @@ passed ```
- ↳ Function: test_motor_init_strips_suffixes + ↳ Function: test_notify_update -
- ❌ Test 2 + βœ… Test 2 **_*πŸ“Œ Setup phase*_** **duration:** ```python - 0.00035681668668985367 + 0.00019716378301382065 ``` **outcome:** @@ -128,67 +88,13 @@ **duration:** ```python - 0.0025765858590602875 + 0.016220551915466785 ``` **outcome:** ```python - failed - ``` - - **crash:** - - ```python - 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:** - - ```python - - path: tests/test_utils_hastepics.py - lineno: 66 - message: AssertionError - ``` - - **longrepr:** - - ```python - 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 + passed ``` **_*πŸ“Œ Teardown phase*_** @@ -196,7 +102,7 @@ **duration:** ```python - 0.00023950450122356415 + 0.00015333015471696854 ``` **outcome:** @@ -205,377 +111,7 @@ passed ```
- ↳ Function: test_disabled_removed_relative_to_upstream - -
- ❌ Test 4 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.00016887858510017395 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 0.0014593321830034256 - ``` - - **outcome:** - - ```python - failed - ``` - - **crash:** - - ```python - 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:** - - ```python - - path: tests/test_utils_hastepics.py - lineno: 87 - message: AssertionError - ``` - - **longrepr:** - - ```python - 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:** - - ```python - 0.00023538805544376373 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_motor_val_connect_via_cache - -
- ❌ Test 6 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.00019162986427545547 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 2.001705374568701 - ``` - - **outcome:** - - ```python - failed - ``` - - **crash:** - - ```python - 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 = .wait_for_connection - ``` - - **traceback:** - - ```python - - path: tests/test_utils_hastepics.py - lineno: 145 - message: AssertionError - ``` - - **longrepr:** - - ```python - 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 = .wait_for_connection - - tests/test_utils_hastepics.py:145: AssertionError - ``` - - **_*πŸ“Œ Teardown phase*_** - - **duration:** - - ```python - 0.0003578662872314453 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_speedup_motor_instantiation - -
- ❌ Test 8 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.00018780305981636047 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 6.002434962429106 - ``` - - **outcome:** - - ```python - failed - ``` - - **crash:** - - ```python - 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:** - - ```python - - 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:** - - ```python - 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 = , 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:** - - ```python - 0.00023432914167642593 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_speedup_motor_PV - -
- ❌ Test 9 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.0001651989296078682 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 0.0019596312195062637 - ``` - - **outcome:** - - ```python - failed - ``` - - **crash:** - - ```python - path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py - lineno: 196 - message: AssertionError: assert False - + where False = .connected - ``` - - **traceback:** - - ```python - - path: tests/test_utils_hastepics.py - lineno: 196 - message: AssertionError - ``` - - **longrepr:** - - ```python - 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 = .connected - - tests/test_utils_hastepics.py:196: AssertionError - ``` - - **_*πŸ“Œ Teardown phase*_** - - **duration:** - - ```python - 0.0001671966165304184 - ``` - - **outcome:** - - ```python - passed - ``` -
-
- -
- -
-βœ… Passed (6) - - -
- πŸ“„ test_utils_hastepics.py - - ↳ Function: test_motor_invalid_name_raises + ↳ Function: test_get_server_info -
βœ… Test 3 @@ -584,7 +120,7 @@ **duration:** ```python - 0.000208989717066288 + 0.0001543806865811348 ``` **outcome:** @@ -598,7 +134,7 @@ **duration:** ```python - 0.0006750449538230896 + 0.00045926589518785477 ``` **outcome:** @@ -612,7 +148,7 @@ **duration:** ```python - 0.00015596672892570496 + 0.00011773314327001572 ``` **outcome:** @@ -621,7 +157,53 @@ passed ```
- ↳ Function: test_motor_init_list_and_extras_build_handles_eagerly + ↳ Function: test_get_capabilities + -
+ βœ… Test 4 + + **_*πŸ“Œ Setup phase*_** + + **duration:** + + ```python + 0.00014492589980363846 + ``` + + **outcome:** + + ```python + passed + ``` + + **_*πŸ“Œ Call phase*_** + + **duration:** + + ```python + 0.0005091605708003044 + ``` + + **outcome:** + + ```python + passed + ``` + + **_*πŸ“Œ Teardown phase*_** + + **duration:** + + ```python + 0.00011112913489341736 + ``` + + **outcome:** + + ```python + passed + ``` +
+ ↳ Function: test_notify_and_close -
βœ… Test 5 @@ -630,7 +212,7 @@ **duration:** ```python - 0.00019463803619146347 + 0.0001364573836326599 ``` **outcome:** @@ -644,7 +226,7 @@ **duration:** ```python - 0.0015617609024047852 + 0.20479927957057953 ``` **outcome:** @@ -658,7 +240,7 @@ **duration:** ```python - 0.00014205649495124817 + 0.0001926301047205925 ``` **outcome:** @@ -667,7 +249,78 @@ passed ```
- ↳ Function: test_speedup_get_pv + ↳ Function: test_notify_invalid_value + -
+ βœ… Test 6 + + **_*πŸ“Œ Setup phase*_** + + **duration:** + + ```python + 0.00017177965492010117 + ``` + + **outcome:** + + ```python + passed + ``` + + **_*πŸ“Œ Call phase*_** + + **duration:** + + ```python + 0.0007711350917816162 + ``` + + **outcome:** + + ```python + passed + ``` + + **log:** + + ```python + - name: dbus.connection + msg: Unable to set arguments ('', 0, '', 'Invalid Test', 1234, (), {}, 0) according to signature 'susssasa{sv}i': : Expected a string or unicode object + args: None + levelname: ERROR + levelno: 40 + pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/dbus/connection.py + filename: connection.py + module: connection + exc_info: None + exc_text: None + stack_info: None + lineno: 628 + funcName: call_blocking + created: 1756133776.5750947 + msecs: 575.0946998596191 + relativeCreated: 4785.06326675415 + thread: 139986524616192 + threadName: MainThread + processName: MainProcess + process: 3214 + ``` + + **_*πŸ“Œ Teardown phase*_** + + **duration:** + + ```python + 0.00014100223779678345 + ``` + + **outcome:** + + ```python + passed + ``` +
+ ↳ Function: test_convert_dbus_strings -
βœ… Test 7 @@ -676,7 +329,7 @@ **duration:** ```python - 0.0002718130126595497 + 0.0001198742538690567 ``` **outcome:** @@ -690,7 +343,7 @@ **duration:** ```python - 5.000807790085673 + 0.00018846429884433746 ``` **outcome:** @@ -704,145 +357,7 @@ **duration:** ```python - 0.00019267108291387558 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_motor_init_list_attrs_created - -
- βœ… Test 10 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.00014871452003717422 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 0.0010725082829594612 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Teardown phase*_** - - **duration:** - - ```python - 0.00012002885341644287 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_motor_extras_attrs_correct - -
- βœ… Test 11 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.00013439077883958817 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 0.0009877951815724373 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Teardown phase*_** - - **duration:** - - ```python - 0.00011709798127412796 - ``` - - **outcome:** - - ```python - passed - ``` -
- ↳ Function: test_motor_callbacks_empty - -
- βœ… Test 12 - - **_*πŸ“Œ Setup phase*_** - - **duration:** - - ```python - 0.0001297714188694954 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Call phase*_** - - **duration:** - - ```python - 0.0010321307927370071 - ``` - - **outcome:** - - ```python - passed - ``` - - **_*πŸ“Œ Teardown phase*_** - - **duration:** - - ```python - 0.00021640397608280182 + 0.00016782432794570923 ``` **outcome:** @@ -867,58 +382,56 @@ - **result:** ```python - - nodeid: tests/test_utils_hastepics.py + - nodeid: tests/test_utils_dbusnotify.py type: Module ```
-βœ… tests (1 tests) +βœ… tests (2 tests) -
- βœ… tests/test_utils_hastepics.py + βœ… tests/test_utils_dbusnotify.py - **Outcome:** `passed` - **result:** ```python - - nodeid: tests/test_utils_hastepics.py::test_get_pv_connect_false_and_true + - nodeid: tests/test_utils_dbusnotify.py::DBusTestCase + type: UnitTestCase + - nodeid: tests/test_utils_dbusnotify.py::test_notify_create type: Function - lineno: 29 - - nodeid: tests/test_utils_hastepics.py::test_motor_init_strips_suffixes + lineno: 26 + - nodeid: tests/test_utils_dbusnotify.py::test_notify_update type: Function - lineno: 44 - - nodeid: tests/test_utils_hastepics.py::test_motor_invalid_name_raises + lineno: 37 + - nodeid: tests/test_utils_dbusnotify.py::test_get_server_info type: Function - lineno: 74 - - nodeid: tests/test_utils_hastepics.py::test_disabled_removed_relative_to_upstream + lineno: 46 + - nodeid: tests/test_utils_dbusnotify.py::test_get_capabilities type: Function - lineno: 79 - - nodeid: tests/test_utils_hastepics.py::test_motor_init_list_and_extras_build_handles_eagerly + lineno: 57 + - nodeid: tests/test_utils_dbusnotify.py::test_notify_and_close type: Function - lineno: 100 - - nodeid: tests/test_utils_hastepics.py::test_motor_val_connect_via_cache + lineno: 72 + - nodeid: tests/test_utils_dbusnotify.py::test_notify_invalid_value type: Function - lineno: 130 - - nodeid: tests/test_utils_hastepics.py::test_speedup_get_pv + lineno: 82 + - nodeid: tests/test_utils_dbusnotify.py::test_convert_dbus_strings 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 + lineno: 88 + ``` +
+ + -
+ βœ… tests/test_utils_dbusnotify.py::DBusTestCase + + - **Outcome:** `passed` + - **result:** + + ```python + [] ```
@@ -932,7 +445,7 @@ ```python message: invalid escape sequence \- category: DeprecationWarning -when: collect +when: runtest filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py lineno: 207 ``` @@ -947,7 +460,7 @@ lineno: 207 ```python message: The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy. category: DeprecationWarning -when: collect +when: runtest filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py lineno: 97 ``` diff --git a/markdown/coverage-summary.md b/markdown/coverage-summary.md index 61c3f644d..6261aeaba 100644 --- a/markdown/coverage-summary.md +++ b/markdown/coverage-summary.md @@ -176,7 +176,7 @@ | slic/utils/channels.py | 17 | 12 | 29% | | slic/utils/config.py | 5 | 2 | 60% | | slic/utils/cprint.py | 41 | 16 | 61% | -| slic/utils/dbusnotify.py | 40 | 23 | 42% | +| slic/utils/dbusnotify.py | 40 | 0 | 100% | | slic/utils/debug.py | 16 | 12 | 25% | | slic/utils/dictext.py | 30 | 19 | 37% | | slic/utils/dotdir.py | 10 | 1 | 90% | @@ -185,7 +185,7 @@ | slic/utils/eval.py | 49 | 37 | 24% | | slic/utils/exceptions.py | 22 | 14 | 36% | | slic/utils/get\_adj.py | 17 | 11 | 35% | -| slic/utils/hastyepics.py | 37 | 5 | 86% | +| slic/utils/hastyepics.py | 37 | 25 | 32% | | slic/utils/ioc/\_\_init\_\_.py | 1 | 1 | 0% | | slic/utils/ioc/adjdrv.py | 31 | 31 | 0% | | slic/utils/ioc/ioc.py | 63 | 63 | 0% | @@ -224,4 +224,4 @@ | slic/utils/typecast.py | 19 | 19 | 0% | | slic/utils/utils.py | 17 | 8 | 53% | | slic/utils/xrange.py | 33 | 30 | 9% | -| **TOTAL** | **9984** | **7432** | **26%** | +| **TOTAL** | **9984** | **7429** | **26%** | diff --git a/markdown/pytest-report.json b/markdown/pytest-report.json index 106c99a26..cad9bb973 100644 --- a/markdown/pytest-report.json +++ b/markdown/pytest-report.json @@ -1 +1 @@ -{"created": 1756129970.6098907, "duration": 26.528825759887695, "exitcode": 1, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"failed": 6, "passed": 6, "total": 12, "collected": 12}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": "tests/test_utils_hastepics.py", "type": "Module"}]}, {"nodeid": "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}]}], "tests": [{"nodeid": "tests/test_utils_hastepics.py::test_get_pv_connect_false_and_true", "lineno": 29, "outcome": "failed", "keywords": ["test_get_pv_connect_false_and_true", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.0007642786949872971, "outcome": "passed"}, "call": {"duration": 2.111914704553783, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 42, "message": "AssertionError: assert False\n + where False = .connected"}, "traceback": [{"path": "tests/test_utils_hastepics.py", "lineno": 42, "message": "AssertionError"}], "longrepr": "def test_get_pv_connect_false_and_true():\n name = \"TEST:SIM:VAL\"\n assert not _in_pv_cache(name)\n \n pv = get_pv(name, connect=False)\n assert isinstance(pv, PV)\n \n assert _in_pv_cache(name), \"PV should be in _PVcache_ after get_pv(connect=False)\"\n assert not pv.connected\n \n # Now actually connect\n pv2 = get_pv(name, connect=True, timeout=2.0)\n> assert pv2.connected\nE AssertionError: assert False\nE + where False = .connected\n\ntests/test_utils_hastepics.py:42: AssertionError"}, "teardown": {"duration": 0.0006133858114480972, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_init_strips_suffixes", "lineno": 44, "outcome": "failed", "keywords": ["test_motor_init_strips_suffixes", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00035681668668985367, "outcome": "passed"}, "call": {"duration": 0.0025765858590602875, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 66, "message": "AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'\n \n - TEST:SIM:M1\n + TEST:SIM:M1.\n ? +"}, "traceback": [{"path": "tests/test_utils_hastepics.py", "lineno": 66, "message": "AssertionError"}], "longrepr": "def test_motor_init_strips_suffixes():\n m1 = Motor(\"TEST:SIM:M1.VAL\")\n \n # Afficher les attributs de base de epics.Motor\n print(\"Attributes of epics.Motor:\")\n print(\" _init_list:\", getattr(epics.Motor, \"_init_list\", []))\n print(\" _extras:\", getattr(epics.Motor, \"_extras\", {}))\n \n # Afficher les attributs de ton objet Motor\n print(\"\\nAttributes of Motor (custom):\")\n print(\" _init_list:\", getattr(m1, \"_init_list\", []))\n print(\" _extras:\", getattr(m1, \"_extras\", {}))\n \n # Afficher tous les attributs de epics.Motor (via dir())\n print(\"\\nAll attributes of epics.Motor:\")\n print(dir(epics.Motor))\n \n # Afficher tous les attributs de ta classe Motor (via dir())\n print(\"\\nAll attributes of Motor (custom):\")\n print(dir(m1))\n \n> assert m1._prefix == \"TEST:SIM:M1\"\nE AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'\nE \nE - TEST:SIM:M1\nE + TEST:SIM:M1.\nE ? +\n\ntests/test_utils_hastepics.py:66: AssertionError"}, "teardown": {"duration": 0.00023950450122356415, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_invalid_name_raises", "lineno": 74, "outcome": "passed", "keywords": ["test_motor_invalid_name_raises", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.000208989717066288, "outcome": "passed"}, "call": {"duration": 0.0006750449538230896, "outcome": "passed"}, "teardown": {"duration": 0.00015596672892570496, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_disabled_removed_relative_to_upstream", "lineno": 79, "outcome": "failed", "keywords": ["test_disabled_removed_relative_to_upstream", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00016887858510017395, "outcome": "passed"}, "call": {"duration": 0.0014593321830034256, "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\nassert 0 > 0\n + where 0 = len({})"}, "traceback": [{"path": "tests/test_utils_hastepics.py", "lineno": 87, "message": "AssertionError"}], "longrepr": "def test_disabled_removed_relative_to_upstream():\n m = Motor(\"TEST:SIM:M7\")\n \n init_list = tuple(getattr(m, \"_init_list\", ()))\n extras = dict(getattr(m, \"_extras\", {}))\n \n assert len(init_list) > 0, \"_init_list is empty; expected at least one field\"\n> assert len(extras) > 0, \"_extras is empty; expected at least one entry\"\nE AssertionError: _extras is empty; expected at least one entry\nE assert 0 > 0\nE + where 0 = len({})\n\ntests/test_utils_hastepics.py:87: AssertionError"}, "teardown": {"duration": 0.00023538805544376373, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_init_list_and_extras_build_handles_eagerly", "lineno": 100, "outcome": "passed", "keywords": ["test_motor_init_list_and_extras_build_handles_eagerly", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00019463803619146347, "outcome": "passed"}, "call": {"duration": 0.0015617609024047852, "outcome": "passed"}, "teardown": {"duration": 0.00014205649495124817, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_val_connect_via_cache", "lineno": 130, "outcome": "failed", "keywords": ["test_motor_val_connect_via_cache", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00019162986427545547, "outcome": "passed"}, "call": {"duration": 2.001705374568701, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 145, "message": "AssertionError: assert False\n + where False = wait_for_connection(timeout=2.0)\n + where wait_for_connection = .wait_for_connection"}, "traceback": [{"path": "tests/test_utils_hastepics.py", "lineno": 145, "message": "AssertionError"}], "longrepr": "def test_motor_val_connect_via_cache():\n motor_prefix = \"TEST:SIM:M5\"\n pvname = f\"{motor_prefix}.VAL\"\n \n assert not _in_pv_cache(pvname)\n \n m = Motor(motor_prefix)\n \n assert _in_pv_cache(pvname), f\"{pvname} should be cached after Motor()\"\n \n pv = _get_cached_pv(pvname)\n assert pv is not None\n assert not pv.connected\n \n> assert pv.wait_for_connection(timeout=2.0)\nE AssertionError: assert False\nE + where False = wait_for_connection(timeout=2.0)\nE + where wait_for_connection = .wait_for_connection\n\ntests/test_utils_hastepics.py:145: AssertionError"}, "teardown": {"duration": 0.0003578662872314453, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_speedup_get_pv", "lineno": 149, "outcome": "passed", "keywords": ["test_speedup_get_pv", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.0002718130126595497, "outcome": "passed"}, "call": {"duration": 5.000807790085673, "outcome": "passed"}, "teardown": {"duration": 0.00019267108291387558, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_speedup_motor_instantiation", "lineno": 166, "outcome": "failed", "keywords": ["test_speedup_motor_instantiation", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00018780305981636047, "outcome": "passed"}, "call": {"duration": 6.002434962429106, "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": ""}, {"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():\n \"\"\"On exige juste pas de grosse r\u00e9gression vs EPICS.\"\"\"\n t0 = time.perf_counter()\n Motor(\"TEST:SIM:M6\")\n t1 = time.perf_counter()\n \n t2 = time.perf_counter()\n> epics.Motor(\"TEST:SIM:M8\")\n\ntests/test_utils_hastepics.py:174: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = , name = 'TEST:SIM:M8', timeout = 3.0\n\n def __init__(self, name=None, timeout=3.0):\n if name is None:\n raise MotorException(\"must supply motor name\")\n \n if name.endswith('.VAL'):\n name = name[:-4]\n if name.endswith('.'):\n name = name[:-1]\n \n self._prefix = name\n device.Device.__init__(self, name, delim='.',\n attrs=self._init_list,\n timeout=timeout)\n # make sure this is really a motor!\n rectype = self.get('RTYP')\n if rectype != 'motor':\n> raise MotorException(\"%s is not an Epics Motor\" % name)\nE epics.motor.MotorException: TEST:SIM:M8 is not an Epics Motor\n\n/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": {"duration": 0.00023432914167642593, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_speedup_motor_PV", "lineno": 183, "outcome": "failed", "keywords": ["test_speedup_motor_PV", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.0001651989296078682, "outcome": "passed"}, "call": {"duration": 0.0019596312195062637, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 196, "message": "AssertionError: assert False\n + where False = .connected"}, "traceback": [{"path": "tests/test_utils_hastepics.py", "lineno": 196, "message": "AssertionError"}], "longrepr": "def test_speedup_motor_PV():\n # baseline EPICS\n m_slow = Motor(\"TEST:SIM:M14\")\n t0 = time.perf_counter()\n pv_slow = m_slow.PV(\"VAL\", connect=True)\n t1 = time.perf_counter()\n \n m_fast = Motor(\"TEST:SIM:M15\")\n t2 = time.perf_counter()\n pv_fast = m_fast.PV(\"VAL\", connect=False)\n t3 = time.perf_counter()\n \n> assert pv_slow.connected\nE AssertionError: assert False\nE + where False = .connected\n\ntests/test_utils_hastepics.py:196: AssertionError"}, "teardown": {"duration": 0.0001671966165304184, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_init_list_attrs_created", "lineno": 205, "outcome": "passed", "keywords": ["test_motor_init_list_attrs_created", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00014871452003717422, "outcome": "passed"}, "call": {"duration": 0.0010725082829594612, "outcome": "passed"}, "teardown": {"duration": 0.00012002885341644287, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_extras_attrs_correct", "lineno": 216, "outcome": "passed", "keywords": ["test_motor_extras_attrs_correct", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.00013439077883958817, "outcome": "passed"}, "call": {"duration": 0.0009877951815724373, "outcome": "passed"}, "teardown": {"duration": 0.00011709798127412796, "outcome": "passed"}}, {"nodeid": "tests/test_utils_hastepics.py::test_motor_callbacks_empty", "lineno": 228, "outcome": "passed", "keywords": ["test_motor_callbacks_empty", "test_utils_hastepics.py", "tests", "slic", ""], "setup": {"duration": 0.0001297714188694954, "outcome": "passed"}, "call": {"duration": 0.0010321307927370071, "outcome": "passed"}, "teardown": {"duration": 0.00021640397608280182, "outcome": "passed"}}], "warnings": [{"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}, {"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}]} \ No newline at end of file +{"created": 1756133777.5663934, "duration": 4.885369062423706, "exitcode": 0, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 7, "total": 7, "collected": 7}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": "tests/test_utils_dbusnotify.py", "type": "Module"}]}, {"nodeid": "tests/test_utils_dbusnotify.py::DBusTestCase", "outcome": "passed", "result": []}, {"nodeid": "tests/test_utils_dbusnotify.py", "outcome": "passed", "result": [{"nodeid": "tests/test_utils_dbusnotify.py::DBusTestCase", "type": "UnitTestCase"}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_create", "type": "Function", "lineno": 26}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_update", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_utils_dbusnotify.py::test_get_server_info", "type": "Function", "lineno": 46}, {"nodeid": "tests/test_utils_dbusnotify.py::test_get_capabilities", "type": "Function", "lineno": 57}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_and_close", "type": "Function", "lineno": 72}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_invalid_value", "type": "Function", "lineno": 82}, {"nodeid": "tests/test_utils_dbusnotify.py::test_convert_dbus_strings", "type": "Function", "lineno": 88}]}], "tests": [{"nodeid": "tests/test_utils_dbusnotify.py::test_notify_create", "lineno": 26, "outcome": "passed", "keywords": ["test_notify_create", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 3.5844745840877295, "outcome": "passed"}, "call": {"duration": 0.004959088750183582, "outcome": "passed"}, "teardown": {"duration": 0.00025586970150470734, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_update", "lineno": 37, "outcome": "passed", "keywords": ["test_notify_update", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.00019716378301382065, "outcome": "passed"}, "call": {"duration": 0.016220551915466785, "outcome": "passed"}, "teardown": {"duration": 0.00015333015471696854, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_get_server_info", "lineno": 46, "outcome": "passed", "keywords": ["test_get_server_info", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.0001543806865811348, "outcome": "passed"}, "call": {"duration": 0.00045926589518785477, "outcome": "passed"}, "teardown": {"duration": 0.00011773314327001572, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_get_capabilities", "lineno": 57, "outcome": "passed", "keywords": ["test_get_capabilities", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.00014492589980363846, "outcome": "passed"}, "call": {"duration": 0.0005091605708003044, "outcome": "passed"}, "teardown": {"duration": 0.00011112913489341736, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_and_close", "lineno": 72, "outcome": "passed", "keywords": ["test_notify_and_close", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.0001364573836326599, "outcome": "passed"}, "call": {"duration": 0.20479927957057953, "outcome": "passed"}, "teardown": {"duration": 0.0001926301047205925, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_notify_invalid_value", "lineno": 82, "outcome": "passed", "keywords": ["test_notify_invalid_value", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.00017177965492010117, "outcome": "passed"}, "call": {"duration": 0.0007711350917816162, "outcome": "passed", "log": [{"name": "dbus.connection", "msg": "Unable to set arguments ('', 0, '', 'Invalid Test', 1234, (), {}, 0) according to signature 'susssasa{sv}i': : Expected a string or unicode object", "args": null, "levelname": "ERROR", "levelno": 40, "pathname": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/dbus/connection.py", "filename": "connection.py", "module": "connection", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 628, "funcName": "call_blocking", "created": 1756133776.5750947, "msecs": 575.0946998596191, "relativeCreated": 4785.06326675415, "thread": 139986524616192, "threadName": "MainThread", "processName": "MainProcess", "process": 3214}]}, "teardown": {"duration": 0.00014100223779678345, "outcome": "passed"}}, {"nodeid": "tests/test_utils_dbusnotify.py::test_convert_dbus_strings", "lineno": 88, "outcome": "passed", "keywords": ["test_convert_dbus_strings", "test_utils_dbusnotify.py", "tests", "slic", ""], "setup": {"duration": 0.0001198742538690567, "outcome": "passed"}, "call": {"duration": 0.00018846429884433746, "outcome": "passed"}, "teardown": {"duration": 0.00016782432794570923, "outcome": "passed"}}], "warnings": [{"message": "invalid escape sequence \\-", "category": "DeprecationWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py", "lineno": 207}, {"message": "The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy.", "category": "DeprecationWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py", "lineno": 97}]} \ No newline at end of file diff --git a/markdown/runtime_params.json b/markdown/runtime_params.json index 70072c9a0..dc25a3b3e 100644 --- a/markdown/runtime_params.json +++ b/markdown/runtime_params.json @@ -1,50 +1,30 @@ [ { - "nodeid": "tests/test_utils_hastepics.py::test_get_pv_connect_false_and_true", + "nodeid": "tests/test_utils_dbusnotify.py::test_notify_create", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_motor_init_strips_suffixes", + "nodeid": "tests/test_utils_dbusnotify.py::test_notify_update", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_motor_invalid_name_raises", + "nodeid": "tests/test_utils_dbusnotify.py::test_get_server_info", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_disabled_removed_relative_to_upstream", + "nodeid": "tests/test_utils_dbusnotify.py::test_get_capabilities", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_motor_init_list_and_extras_build_handles_eagerly", + "nodeid": "tests/test_utils_dbusnotify.py::test_notify_and_close", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_motor_val_connect_via_cache", + "nodeid": "tests/test_utils_dbusnotify.py::test_notify_invalid_value", "callspec": null }, { - "nodeid": "tests/test_utils_hastepics.py::test_speedup_get_pv", - "callspec": null - }, - { - "nodeid": "tests/test_utils_hastepics.py::test_speedup_motor_instantiation", - "callspec": null - }, - { - "nodeid": "tests/test_utils_hastepics.py::test_speedup_motor_PV", - "callspec": null - }, - { - "nodeid": "tests/test_utils_hastepics.py::test_motor_init_list_attrs_created", - "callspec": null - }, - { - "nodeid": "tests/test_utils_hastepics.py::test_motor_extras_attrs_correct", - "callspec": null - }, - { - "nodeid": "tests/test_utils_hastepics.py::test_motor_callbacks_empty", + "nodeid": "tests/test_utils_dbusnotify.py::test_convert_dbus_strings", "callspec": null } ] \ No newline at end of file