Files
slic/markdown/pytest-report.json
T
2025-08-25 12:17:17 +00:00

1 line
14 KiB
JSON

{"created": 1756124235.1363995, "duration": 26.848019123077393, "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.0007010446861386299, "outcome": "passed"}, "call": {"duration": 2.1056516729295254, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 42, "message": "AssertionError: assert False\n + 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():\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 = <PV 'TEST:SIM:VAL': not connected>.connected\n\ntests/test_utils_hastepics.py:42: AssertionError"}, "teardown": {"duration": 0.0006316760554909706, "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.0003603510558605194, "outcome": "passed"}, "call": {"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'\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.0002612695097923279, "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.0001909220591187477, "outcome": "passed"}, "call": {"duration": 0.0007165307179093361, "outcome": "passed"}, "teardown": {"duration": 0.0001410115510225296, "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.00017063505947589874, "outcome": "passed"}, "call": {"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\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.0002260422334074974, "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.00018456391990184784, "outcome": "passed"}, "call": {"duration": 0.0015964126214385033, "outcome": "passed"}, "teardown": {"duration": 0.00015765801072120667, "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.00016280543059110641, "outcome": "passed"}, "call": {"duration": 2.001796403899789, "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 = <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():\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 = <PV 'TEST:SIM:M5.VAL': not connected>.wait_for_connection\n\ntests/test_utils_hastepics.py:145: AssertionError"}, "teardown": {"duration": 0.00026451796293258667, "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.00019431300461292267, "outcome": "passed"}, "call": {"duration": 5.000758139416575, "outcome": "passed"}, "teardown": {"duration": 0.0002213073894381523, "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.00020910333842039108, "outcome": "passed"}, "call": {"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": ""}, {"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 = <epics.Motor: TEST:SIM:M8.: 'None'>, 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.0003161393105983734, "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.00024634692817926407, "outcome": "passed"}, "call": {"duration": 0.002595829777419567, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_utils_hastepics.py", "lineno": 196, "message": "AssertionError: assert False\n + 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():\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 = <PV 'TEST:SIM:M14.VAL': not connected>.connected\n\ntests/test_utils_hastepics.py:196: AssertionError"}, "teardown": {"duration": 0.00017293263226747513, "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.00018126610666513443, "outcome": "passed"}, "call": {"duration": 0.0012007001787424088, "outcome": "passed"}, "teardown": {"duration": 0.00013623852282762527, "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.00015635695308446884, "outcome": "passed"}, "call": {"duration": 0.0010699257254600525, "outcome": "passed"}, "teardown": {"duration": 0.00012218859046697617, "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.00016745086759328842, "outcome": "passed"}, "call": {"duration": 0.0011327136307954788, "outcome": "passed"}, "teardown": {"duration": 0.0002881120890378952, "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}]}