Clone
1
run 1241 TEST commit bc21a2e
ci-bot edited this page 2025-07-25 10:46:15 +00:00

Test Report

View CI Run 1241 | Commit bc21a2e Pytest completed successfully

All tests were collected and executed properly. See the details below.

📋 Short test summary info
=========================== short test summary info ============================
FAILED tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaaa...] - assert "'aaaaaaaaa..." == "'aaaaaaaaaaa..."
  
  - 'aaaaaaaaaaa...
  ?  --
  + 'aaaaaaaaa...
FAILED tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxxx...] - AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxxx...'
  
  - Obj(xxxxxxxxxxxxxxxxxx...
  ?                     --
  + Obj(xxxxxxxxxxxxxxxx...
FAILED tests/test_utils_dictext.py::test_attrdict_getattr[data3-outer.inner-None] - AttributeError: 'MyDict' object has no attribute 'outer.inner'
FAILED tests/test_utils_dictext.py::test_attrdict_getattr[data4-outer.inner-42] - AttributeError: 'MyDict' object has no attribute 'outer.inner'
FAILED tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'AttrDict' object has no attribute 'missing'] - assert "'MyDict' obj...ute 'missing'" == "'AttrDict' o...ute 'missing'"
  
  - 'AttrDict' object has no attribute 'missing'
  ?  ^^^^
  + 'MyDict' object has no attribute 'missing'
  ?  ^^
=================== 5 failed, 90 passed, 4 warnings in 5.74s ===================
🪵 Full raw pytest log
============================= test session starts ==============================
platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0
rootdir: /workspace/tligui_y/slic
plugins: allure-pytest-2.13.5, metadata-3.1.1, cov-5.0.0, html-4.1.1, json-report-1.5.0
]0;slic[W 250725 10:46:11 pvpreload:38] PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/root/.slic/pvpreload'
collected 95 items

tests/test_utils_ask_yes_no.py .............
.
.
.
.
.
.
.

.


.


.
.
.
.
.
.
.
.
.
.
..


.
.
.

.

.



.
tests/test_utils_channels.py .
tests/test_utils_cpint.py ........................
tests/test_utils_debug.py ......F...F
tests/test_utils_dictext.py ...FF.......F......

=================================== FAILURES ===================================
_ test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaaa...] _

value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
cutoff = 10, expected = "'aaaaaaaaaaa..."

    @pytest.mark.parametrize(
        "value, cutoff, expected",
        [
            ("abc", 10, "'abc'"),
            ("a" * 100, 10, "'aaaaaaaaaaa..."),
            (12345, 10, "12345"),
            ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
            (None, 10, "None"),
            (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxxx..."),
        ]
    )
    
    def test_short_repr(value, cutoff, expected):
>       assert short_repr(value, cutoff) == expected
E       assert "'aaaaaaaaa..." == "'aaaaaaaaaaa..."
E         
E         - 'aaaaaaaaaaa...
E         ?  --
E         + 'aaaaaaaaa...

tests/test_utils_debug.py:66: AssertionError
_____________ test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxxx...] _____________

value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20
expected = 'Obj(xxxxxxxxxxxxxxxxxx...'

    @pytest.mark.parametrize(
        "value, cutoff, expected",
        [
            ("abc", 10, "'abc'"),
            ("a" * 100, 10, "'aaaaaaaaaaa..."),
            (12345, 10, "12345"),
            ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
            (None, 10, "None"),
            (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxxx..."),
        ]
    )
    
    def test_short_repr(value, cutoff, expected):
>       assert short_repr(value, cutoff) == expected
E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxxx...'
E         
E         - Obj(xxxxxxxxxxxxxxxxxx...
E         ?                     --
E         + Obj(xxxxxxxxxxxxxxxx...

tests/test_utils_debug.py:66: AssertionError
________________ test_attrdict_getattr[data3-outer.inner-None] _________________

data = {'outer': {'inner': 42}}, attr = 'outer.inner', expected = None

    @pytest.mark.parametrize(
        "data, attr, expected",
        [
            ({"x": 1, "y": 2}, "x", 1),
            ({"world": "ok"}, "world", "ok"),
    
            ({"outer": {"inner": 42}}, "outer", {"inner": 42}),
            ({"outer": {"inner": 42}}, "outer.inner", None),  # pas converti, pas accessible par point
    
            ({"outer": AttrDict({"inner": 42})}, "outer.inner", 42),
        ]
    )
    def test_attrdict_getattr(data, attr, expected):
        d = MyDict(**data)
>       assert getattr(d, attr) == expected

tests/test_utils_dictext.py:27: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
slic/utils/dictext.py:18: in __getattr__
    self._raise_missing_attribute(name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'outer': {'inner': 42}}, name = 'outer.inner'

    def _raise_missing_attribute(self, name):
        tn = typename(self)
>       raise AttributeError(f"{repr(tn)} object has no attribute {repr(name)}")
E       AttributeError: 'MyDict' object has no attribute 'outer.inner'

slic/utils/dictext.py:31: AttributeError
_________________ test_attrdict_getattr[data4-outer.inner-42] __________________

data = {'outer': {'inner': 42}}, attr = 'outer.inner', expected = 42

    @pytest.mark.parametrize(
        "data, attr, expected",
        [
            ({"x": 1, "y": 2}, "x", 1),
            ({"world": "ok"}, "world", "ok"),
    
            ({"outer": {"inner": 42}}, "outer", {"inner": 42}),
            ({"outer": {"inner": 42}}, "outer.inner", None),  # pas converti, pas accessible par point
    
            ({"outer": AttrDict({"inner": 42})}, "outer.inner", 42),
        ]
    )
    def test_attrdict_getattr(data, attr, expected):
        d = MyDict(**data)
>       assert getattr(d, attr) == expected

tests/test_utils_dictext.py:27: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
slic/utils/dictext.py:18: in __getattr__
    self._raise_missing_attribute(name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'outer': {'inner': 42}}, name = 'outer.inner'

    def _raise_missing_attribute(self, name):
        tn = typename(self)
>       raise AttributeError(f"{repr(tn)} object has no attribute {repr(name)}")
E       AttributeError: 'MyDict' object has no attribute 'outer.inner'

slic/utils/dictext.py:31: AttributeError
_ test_attrdict_getattr_and_missing[data1-missing-None-'AttrDict' object has no attribute 'missing'] _

data = {'number': 42}, attr = 'missing', expect_value = None
expect_error = "'AttrDict' object has no attribute 'missing'"

    @pytest.mark.parametrize(
        "data, attr, expect_value, expect_error",
        [
            ({"x": 1, "y": 2}, "x", 1, None),
            ({"number": 42}, "missing", None, "'AttrDict' object has no attribute 'missing'"),
        ]
    )
    def test_attrdict_getattr_and_missing(data, attr, expect_value, expect_error):
        d = MyDict(**data)
        if expect_error is None:
            assert getattr(d, attr) == expect_value
        else:
            with pytest.raises(AttributeError) as excinfo:
                _ = getattr(d, attr)
>           assert str(excinfo.value) == expect_error
E           assert "'MyDict' obj...ute 'missing'" == "'AttrDict' o...ute 'missing'"
E             
E             - 'AttrDict' object has no attribute 'missing'
E             ?  ^^^^
E             + 'MyDict' object has no attribute 'missing'
E             ?  ^^

tests/test_utils_dictext.py:87: AssertionError
=============================== warnings summary ===============================
.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207
  /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207: DeprecationWarning: invalid escape sequence \-
    if not re.match('^tcp://[a-zA-Z.\-0-9]+:[0-9]+$', address):

.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28
  /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html

.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154
  /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
  Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
    declare_namespace(pkg)

.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97
  /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97: DeprecationWarning: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
    from numpy.dual import register_func

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

🧪 Test Report

Generated on 2025-07-25 12:46:14 CEST

🧾 General Info

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

📋 Summary

  • Passed: 90
  • Failed: 5
  • Total: 95
  • Collected: 95

🔎 Tests

Passed (90)
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

    • Test 1

      📌 Setup phase

      duration:

      0.0007728219497948885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008179901633411646
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003003189340233803
      

      outcome:

      passed
      
    • Test 2

      📌 Setup phase

      duration:

      0.000359176192432642
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005412038881331682
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018776697106659412
      

      outcome:

      passed
      
    • Test 3

      📌 Setup phase

      duration:

      0.0003339799586683512
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006581500638276339
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020780903287231922
      

      outcome:

      passed
      
    • Test 4

      📌 Setup phase

      duration:

      0.0003190920688211918
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005203951150178909
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020255404524505138
      

      outcome:

      passed
      
    • Test 5

      📌 Setup phase

      duration:

      0.00032162689603865147
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005469801835715771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001870892010629177
      

      outcome:

      passed
      
    • Test 6

      📌 Setup phase

      duration:

      0.0003304691053926945
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006493129767477512
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001901669893413782
      

      outcome:

      passed
      
    • Test 7

      📌 Setup phase

      duration:

      0.0003360139671713114
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000534221064299345
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020071002654731274
      

      outcome:

      passed
      
    • Test 8

      📌 Setup phase

      duration:

      0.0003347620368003845
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005074541550129652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018918816931545734
      

      outcome:

      passed
      
    • Test 9

      📌 Setup phase

      duration:

      0.00034781312569975853
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005188749637454748
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019334699027240276
      

      outcome:

      passed
      
    • Test 10

      📌 Setup phase

      duration:

      0.00032625114545226097
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006042919121682644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018935790285468102
      

      outcome:

      passed
      
    • Test 11

      📌 Setup phase

      duration:

      0.00033316086046397686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005118059925734997
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020760507322847843
      

      outcome:

      passed
      
    • Test 12

      📌 Setup phase

      duration:

      0.0003160580527037382
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006381580606102943
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018366612493991852
      

      outcome:

      passed
      
    • Test 13

      📌 Setup phase

      duration:

      0.0003161120694130659
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005269879475235939
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017999601550400257
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 14

      📌 Setup phase

      duration:

      0.0003192571457475424
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006389119662344456
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019047106616199017
      

      outcome:

      passed
      
    • Test 15

      📌 Setup phase

      duration:

      0.00031905900686979294
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005009861197322607
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002016338985413313
      

      outcome:

      passed
      
    • Test 16

      📌 Setup phase

      duration:

      0.000315612880513072
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005413249600678682
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000188866863027215
      

      outcome:

      passed
      
    • Test 17

      📌 Setup phase

      duration:

      0.0003242779057472944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005725198425352573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019893283024430275
      

      outcome:

      passed
      
    • Test 18

      📌 Setup phase

      duration:

      0.0003470908850431442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006306478753685951
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001885660458356142
      

      outcome:

      passed
      
    • Test 19

      📌 Setup phase

      duration:

      0.0003284779377281666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005363731179386377
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019115698523819447
      

      outcome:

      passed
      
    • Test 20

      📌 Setup phase

      duration:

      0.00031820801086723804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005747450049966574
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001815620344132185
      

      outcome:

      passed
      
    • Test 21

      📌 Setup phase

      duration:

      0.0003166249953210354
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007143169641494751
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001901120413094759
      

      outcome:

      passed
      
    • Test 22

      📌 Setup phase

      duration:

      0.00031457492150366306
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006055759731680155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019184104166924953
      

      outcome:

      passed
      
    • Test 23

      📌 Setup phase

      duration:

      0.00035037705674767494
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005543020088225603
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018567987717688084
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 24

      📌 Setup phase

      duration:

      0.00031644897535443306
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005295351147651672
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001980089582502842
      

      outcome:

      passed
      
    • Test 25

      📌 Setup phase

      duration:

      0.00033311895094811916
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010522031225264072
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022005499340593815
      

      outcome:

      passed
      
    • Test 26

      📌 Setup phase

      duration:

      0.0003883419558405876
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005142330192029476
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019343686290085316
      

      outcome:

      passed
      
    • Test 27

      📌 Setup phase

      duration:

      0.00030613504350185394
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005054769571870565
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001890328712761402
      

      outcome:

      passed
      
    • Test 28

      📌 Setup phase

      duration:

      0.0003131090197712183
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006117350421845913
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018684612587094307
      

      outcome:

      passed
      
    • Test 29

      📌 Setup phase

      duration:

      0.0003279091324657202
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000528902979567647
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001877660397440195
      

      outcome:

      passed
      
    • Test 30

      📌 Setup phase

      duration:

      0.0003250290174037218
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005194770637899637
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019622314721345901
      

      outcome:

      passed
      
    • Test 31

      📌 Setup phase

      duration:

      0.000322089996188879
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005361400544643402
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018441188149154186
      

      outcome:

      passed
      
    • Test 32

      📌 Setup phase

      duration:

      0.00030720210634171963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006334041245281696
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018188310787081718
      

      outcome:

      passed
      
    • Test 33

      📌 Setup phase

      duration:

      0.00032818899489939213
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005722797941416502
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001830458641052246
      

      outcome:

      passed
      
    • Test 34

      📌 Setup phase

      duration:

      0.0003244709223508835
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005029330495744944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001891369465738535
      

      outcome:

      passed
      
    • Test 35

      📌 Setup phase

      duration:

      0.0003224448300898075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005559159908443689
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029345392249524593
      

      outcome:

      passed
      
    • Test 36

      📌 Setup phase

      duration:

      0.0003183248918503523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005556989926844835
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018760585226118565
      

      outcome:

      passed
      
    • Test 37

      📌 Setup phase

      duration:

      0.00034395884722471237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005300738848745823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000190019141882658
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 38

      📌 Setup phase

      duration:

      0.00037106103263795376
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005782118532806635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002234969288110733
      

      outcome:

      passed
      
    • Test 39

      📌 Setup phase

      duration:

      0.0003630199935287237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006554650608450174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020808889530599117
      

      outcome:

      passed
      
    • Test 40

      📌 Setup phase

      duration:

      0.00036933692172169685
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005784658715128899
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000213902210816741
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 41

      📌 Setup phase

      duration:

      0.00012512900866568089
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011176369152963161
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012598605826497078
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 42

      📌 Setup phase

      duration:

      0.00020149094052612782
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001883909571915865
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001398238819092512
      

      outcome:

      passed
      
    • Test 43

      📌 Setup phase

      duration:

      0.00019322708249092102
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017751287668943405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012958887964487076
      

      outcome:

      passed
      
    • Test 44

      📌 Setup phase

      duration:

      0.00018911203369498253
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001592668704688549
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012382306158542633
      

      outcome:

      passed
      
    • Test 45

      📌 Setup phase

      duration:

      0.0002288308460265398
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015514995902776718
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012655695900321007
      

      outcome:

      passed
      
    • Test 46

      📌 Setup phase

      duration:

      0.00019583199173212051
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000150355976074934
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011979509145021439
      

      outcome:

      passed
      
    • Test 47

      📌 Setup phase

      duration:

      0.00018818979151546955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015223701484501362
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012997514568269253
      

      outcome:

      passed
      
    • Test 48

      📌 Setup phase

      duration:

      0.0001745489425957203
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015471107326447964
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013662897981703281
      

      outcome:

      passed
      
    • Test 49

      📌 Setup phase

      duration:

      0.0001811799593269825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014543184079229832
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013152114115655422
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

    • Test 50

      📌 Setup phase

      duration:

      0.0008177310228347778
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027697416953742504
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00031520496122539043
      

      outcome:

      passed
      
    • Test 51

      📌 Setup phase

      duration:

      0.0004862688947468996
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024492177180945873
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024066492915153503
      

      outcome:

      passed
      
    • Test 52

      📌 Setup phase

      duration:

      0.00045369798317551613
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002234899438917637
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024638278409838676
      

      outcome:

      passed
      
    • Test 53

      📌 Setup phase

      duration:

      0.000480822054669261
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021425099112093449
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002498289104551077
      

      outcome:

      passed
      
    • Test 54

      📌 Setup phase

      duration:

      0.00046494207344949245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024762004613876343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024361396208405495
      

      outcome:

      passed
      
    • Test 55

      📌 Setup phase

      duration:

      0.0004710019566118717
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022599287331104279
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026108603924512863
      

      outcome:

      passed
      
    • Test 56

      📌 Setup phase

      duration:

      0.0004565799608826637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023665884509682655
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023857690393924713
      

      outcome:

      passed
      
    • Test 57

      📌 Setup phase

      duration:

      0.0004756681155413389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021563400514423847
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024862587451934814
      

      outcome:

      passed
      
    • Test 58

      📌 Setup phase

      duration:

      0.0004704948514699936
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021219998598098755
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002475469373166561
      

      outcome:

      passed
      
    • Test 59

      📌 Setup phase

      duration:

      0.00045499810948967934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020920182578265667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002476319205015898
      

      outcome:

      passed
      
    • Test 60

      📌 Setup phase

      duration:

      0.0005713908467441797
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021791993640363216
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027053290978074074
      

      outcome:

      passed
      
    • Test 61

      📌 Setup phase

      duration:

      0.000448484905064106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022884085774421692
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000236232066527009
      

      outcome:

      passed
      
    • Test 62

      📌 Setup phase

      duration:

      0.0005030359607189894
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005618131253868341
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024681398645043373
      

      outcome:

      passed
      
    • Test 63

      📌 Setup phase

      duration:

      0.0004953420720994473
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002387440763413906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025806017220020294
      

      outcome:

      passed
      
    • Test 64

      📌 Setup phase

      duration:

      0.0004776699934154749
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023981998674571514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024076411500573158
      

      outcome:

      passed
      
    • Test 65

      📌 Setup phase

      duration:

      0.000454847002401948
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026810308918356895
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002560000866651535
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 66

      📌 Setup phase

      duration:

      0.00030420394614338875
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011127050966024399
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018153106793761253
      

      outcome:

      passed
      
    • Test 67

      📌 Setup phase

      duration:

      0.00029091211035847664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009036089759320021
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001819860190153122
      

      outcome:

      passed
      
    • Test 68

      📌 Setup phase

      duration:

      0.0002829688601195812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000923053827136755
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019996310584247112
      

      outcome:

      passed
      
    • Test 69

      📌 Setup phase

      duration:

      0.0002780221402645111
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008887741714715958
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021434598602354527
      

      outcome:

      passed
      
    • Test 70

      📌 Setup phase

      duration:

      0.00028569786809384823
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008683099877089262
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001829368993639946
      

      outcome:

      passed
      

    Function: test_short_repr

    • Test 71

      📌 Setup phase

      duration:

      0.0002885828725993633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015914090909063816
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015601608902215958
      

      outcome:

      passed
      
    • Test 73

      📌 Setup phase

      duration:

      0.0003663660027086735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001776060089468956
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016656704246997833
      

      outcome:

      passed
      
    • Test 74

      📌 Setup phase

      duration:

      0.0003461921587586403
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015696603804826736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001827320083975792
      

      outcome:

      passed
      
    • Test 75

      📌 Setup phase

      duration:

      0.0002684681676328182
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001494919415563345
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016574212349951267
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 77

      📌 Setup phase

      duration:

      0.00031037814915180206
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001719081774353981
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016009202226996422
      

      outcome:

      passed
      
    • Test 78

      📌 Setup phase

      duration:

      0.0002899770624935627
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001440439373254776
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015910807996988297
      

      outcome:

      passed
      
    • Test 79

      📌 Setup phase

      duration:

      0.00025882991030812263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014386000111699104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016776309348642826
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

    • Test 82

      📌 Setup phase

      duration:

      0.00031507411040365696
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016022194176912308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001609909813851118
      

      outcome:

      passed
      
    • Test 83

      📌 Setup phase

      duration:

      0.00026778504252433777
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014091609045863152
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017806398682296276
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

    • Test 84

      📌 Setup phase

      duration:

      0.00027381000109016895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020542996935546398
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015571597032248974
      

      outcome:

      passed
      
    • Test 85

      📌 Setup phase

      duration:

      0.0002684651408344507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017883791588246822
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015454203821718693
      

      outcome:

      passed
      

    Function: test_attrdict_dir

    • Test 86

      📌 Setup phase

      duration:

      0.0002543430309742689
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014730403199791908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001403079368174076
      

      outcome:

      passed
      
    • Test 87

      📌 Setup phase

      duration:

      0.00022005499340593815
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001719500869512558
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014043785631656647
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 88

      📌 Setup phase

      duration:

      0.0003603061195462942
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001541131641715765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016945414245128632
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

    • Test 90

      📌 Setup phase

      duration:

      0.00034008012153208256
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016387784853577614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017027510330080986
      

      outcome:

      passed
      
    • Test 91

      📌 Setup phase

      duration:

      0.0003389499615877867
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016712909564375877
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001773510593920946
      

      outcome:

      passed
      
    • Test 92

      📌 Setup phase

      duration:

      0.0003198732156306505
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015224493108689785
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016974215395748615
      

      outcome:

      passed
      
    • Test 93

      📌 Setup phase

      duration:

      0.0003124210052192211
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016341404989361763
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016671395860612392
      

      outcome:

      passed
      
    • Test 94

      📌 Setup phase

      duration:

      0.00032174703665077686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001540440134704113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016714120283722878
      

      outcome:

      passed
      
    • Test 95

      📌 Setup phase

      duration:

      0.0003177691251039505
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002850429154932499
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001909448765218258
      

      outcome:

      passed
      
Failed (5)
  • 📄 test_utils_debug.py

    Function: test_short_repr

    • Test 72

      📌 Setup phase

      duration:

      0.0002732919529080391
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009648851118981838
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: assert "'aaaaaaaaa..." == "'aaaaaaaaaaa..."
      
        - 'aaaaaaaaaaa...
        ?  --
        + 'aaaaaaaaa...
      

      traceback:

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

      longrepr:

      value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
      cutoff = 10, expected = "'aaaaaaaaaaa..."
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       assert "'aaaaaaaaa..." == "'aaaaaaaaaaa..."
      E         
      E         - 'aaaaaaaaaaa...
      E         ?  --
      E         + 'aaaaaaaaa...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.00038082199171185493
      

      outcome:

      passed
      
    • Test 76

      📌 Setup phase

      duration:

      0.0002681240439414978
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006303449627012014
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxxx...'
      
        - Obj(xxxxxxxxxxxxxxxxxx...
        ?                     --
        + Obj(xxxxxxxxxxxxxxxx...
      

      traceback:

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

      longrepr:

      value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20
      expected = 'Obj(xxxxxxxxxxxxxxxxxx...'
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxxx...'
      E         
      E         - Obj(xxxxxxxxxxxxxxxxxx...
      E         ?                     --
      E         + Obj(xxxxxxxxxxxxxxxx...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002201369497925043
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 80

      📌 Setup phase

      duration:

      0.0002619759179651737
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017503183335065842
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/dictext.py
      lineno: 31
      message: AttributeError: 'MyDict' object has no attribute 'outer.inner'
      

      traceback:

      -   path: tests/test_utils_dictext.py
        lineno: 27
        message: None
      -   path: slic/utils/dictext.py
        lineno: 18
        message: in __getattr__
      -   path: slic/utils/dictext.py
        lineno: 31
        message: AttributeError
      

      longrepr:

      data = {'outer': {'inner': 42}}, attr = 'outer.inner', expected = None
      
          @pytest.mark.parametrize(
              "data, attr, expected",
              [
                  ({"x": 1, "y": 2}, "x", 1),
                  ({"world": "ok"}, "world", "ok"),
      
                  ({"outer": {"inner": 42}}, "outer", {"inner": 42}),
                  ({"outer": {"inner": 42}}, "outer.inner", None),  # pas converti, pas accessible par point
      
                  ({"outer": AttrDict({"inner": 42})}, "outer.inner", 42),
              ]
          )
          def test_attrdict_getattr(data, attr, expected):
              d = MyDict(**data)
      >       assert getattr(d, attr) == expected
      
      tests/test_utils_dictext.py:27: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/dictext.py:18: in __getattr__
          self._raise_missing_attribute(name)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = {'outer': {'inner': 42}}, name = 'outer.inner'
      
          def _raise_missing_attribute(self, name):
              tn = typename(self)
      >       raise AttributeError(f"{repr(tn)} object has no attribute {repr(name)}")
      E       AttributeError: 'MyDict' object has no attribute 'outer.inner'
      
      slic/utils/dictext.py:31: AttributeError
      

      📌 Teardown phase

      duration:

      0.00020211399532854557
      

      outcome:

      passed
      
    • Test 81

      📌 Setup phase

      duration:

      0.00029785698279738426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016942201182246208
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/dictext.py
      lineno: 31
      message: AttributeError: 'MyDict' object has no attribute 'outer.inner'
      

      traceback:

      -   path: tests/test_utils_dictext.py
        lineno: 27
        message: None
      -   path: slic/utils/dictext.py
        lineno: 18
        message: in __getattr__
      -   path: slic/utils/dictext.py
        lineno: 31
        message: AttributeError
      

      longrepr:

      data = {'outer': {'inner': 42}}, attr = 'outer.inner', expected = 42
      
          @pytest.mark.parametrize(
              "data, attr, expected",
              [
                  ({"x": 1, "y": 2}, "x", 1),
                  ({"world": "ok"}, "world", "ok"),
      
                  ({"outer": {"inner": 42}}, "outer", {"inner": 42}),
                  ({"outer": {"inner": 42}}, "outer.inner", None),  # pas converti, pas accessible par point
      
                  ({"outer": AttrDict({"inner": 42})}, "outer.inner", 42),
              ]
          )
          def test_attrdict_getattr(data, attr, expected):
              d = MyDict(**data)
      >       assert getattr(d, attr) == expected
      
      tests/test_utils_dictext.py:27: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/dictext.py:18: in __getattr__
          self._raise_missing_attribute(name)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = {'outer': {'inner': 42}}, name = 'outer.inner'
      
          def _raise_missing_attribute(self, name):
              tn = typename(self)
      >       raise AttributeError(f"{repr(tn)} object has no attribute {repr(name)}")
      E       AttributeError: 'MyDict' object has no attribute 'outer.inner'
      
      slic/utils/dictext.py:31: AttributeError
      

      📌 Teardown phase

      duration:

      0.00019762897863984108
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 89

      📌 Setup phase

      duration:

      0.0003110971301794052
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007201649714261293
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_dictext.py
      lineno: 87
      message: assert "'MyDict' obj...ute 'missing'" == "'AttrDict' o...ute 'missing'"
      
        - 'AttrDict' object has no attribute 'missing'
        ?  ^^^^
        + 'MyDict' object has no attribute 'missing'
        ?  ^^
      

      traceback:

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

      longrepr:

      data = {'number': 42}, attr = 'missing', expect_value = None
      expect_error = "'AttrDict' object has no attribute 'missing'"
      
          @pytest.mark.parametrize(
              "data, attr, expect_value, expect_error",
              [
                  ({"x": 1, "y": 2}, "x", 1, None),
                  ({"number": 42}, "missing", None, "'AttrDict' object has no attribute 'missing'"),
              ]
          )
          def test_attrdict_getattr_and_missing(data, attr, expect_value, expect_error):
              d = MyDict(**data)
              if expect_error is None:
                  assert getattr(d, attr) == expect_value
              else:
                  with pytest.raises(AttributeError) as excinfo:
                      _ = getattr(d, attr)
      >           assert str(excinfo.value) == expect_error
      E           assert "'MyDict' obj...ute 'missing'" == "'AttrDict' o...ute 'missing'"
      E             
      E             - 'AttrDict' object has no attribute 'missing'
      E             ?  ^^^^
      E             + 'MyDict' object has no attribute 'missing'
      E             ?  ^^
      
      tests/test_utils_dictext.py:87: AssertionError
      

      📌 Teardown phase

      duration:

      0.00021293293684720993
      

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: .
      type: Dir
    
ci-reports (13 tests)
  • ci-reports
    • Outcome: passed
    • result:
    -   nodeid: ci-reports/allure
      type: Dir
    -   nodeid: ci-reports/junit
      type: Dir
    -   nodeid: ci-reports/markdown
      type: Dir
    
    • ci-reports/allure
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data
        type: Dir
      -   nodeid: ci-reports/allure/export
        type: Dir
      -   nodeid: ci-reports/allure/history
        type: Dir
      -   nodeid: ci-reports/allure/plugin
        type: Dir
      -   nodeid: ci-reports/allure/widgets
        type: Dir
      
    • ci-reports/allure/data
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data/test-cases
        type: Dir
      
    • ci-reports/allure/data/test-cases
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/export
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/history
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/plugin/behaviors
        type: Dir
      -   nodeid: ci-reports/allure/plugin/packages
        type: Dir
      -   nodeid: ci-reports/allure/plugin/screen-diff
        type: Dir
      
    • ci-reports/allure/plugin/behaviors
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/packages
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/screen-diff
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/widgets
      • Outcome: passed
      • result:
      []
      
    • ci-reports/junit
      • Outcome: passed
      • result:
      []
      
    • ci-reports/markdown
      • Outcome: passed
      • result:
      []
      
outputs (1 tests)
  • outputs
    • Outcome: passed
    • result:
    []
    
slic (30 tests)
  • slic
    • Outcome: passed
    • result:
    -   nodeid: slic/core
      type: Package
    -   nodeid: slic/devices
      type: Package
    -   nodeid: slic/gui
      type: Package
    -   nodeid: slic/utils
      type: Package
    
    • slic/core
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition
        type: Package
      -   nodeid: slic/core/adjustable
        type: Package
      -   nodeid: slic/core/condition
        type: Package
      -   nodeid: slic/core/device
        type: Package
      -   nodeid: slic/core/scanner
        type: Package
      -   nodeid: slic/core/sensor
        type: Package
      -   nodeid: slic/core/task
        type: Package
      
    • slic/core/acquisition
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition/broker
        type: Package
      
    • slic/core/acquisition/broker
      • Outcome: passed
      • result:
      []
      
    • slic/core/adjustable
      • Outcome: passed
      • result:
      []
      
    • slic/core/condition
      • Outcome: passed
      • result:
      []
      
    • slic/core/device
      • Outcome: passed
      • result:
      []
      
    • slic/core/scanner
      • Outcome: passed
      • result:
      []
      
    • slic/core/sensor
      • Outcome: passed
      • result:
      []
      
    • slic/core/task
      • Outcome: passed
      • result:
      []
      
    • slic/devices
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/cameras
        type: Package
      -   nodeid: slic/devices/endstations
        type: Package
      -   nodeid: slic/devices/general
        type: Package
      -   nodeid: slic/devices/loptics
        type: Package
      -   nodeid: slic/devices/timing
        type: Package
      -   nodeid: slic/devices/xdiagnostics
        type: Package
      -   nodeid: slic/devices/xoptics
        type: Package
      
    • slic/devices/cameras
      • Outcome: passed
      • result:
      []
      
    • slic/devices/endstations
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/general/detectors
        type: Package
      -   nodeid: slic/devices/general/unused
        type: Dir
      
    • slic/devices/general/detectors
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general/unused
      • Outcome: passed
      • result:
      []
      
    • slic/devices/loptics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/timing
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/timing/events
        type: Package
      
    • slic/devices/timing/events
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xdiagnostics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/xoptics/slits
        type: Package
      -   nodeid: slic/devices/xoptics/unused
        type: Dir
      
    • slic/devices/xoptics/slits
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics/unused
      • Outcome: passed
      • result:
      []
      
    • slic/gui
      • Outcome: passed
      • result:
      -   nodeid: slic/gui/daqpanels
        type: Package
      -   nodeid: slic/gui/widgets
        type: Package
      
    • slic/gui/daqpanels
      • Outcome: passed
      • result:
      []
      
    • slic/gui/widgets
      • Outcome: passed
      • result:
      []
      
    • slic/utils
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/ioc
        type: Package
      -   nodeid: slic/utils/unused
        type: Dir
      
    • slic/utils/ioc
      • Outcome: passed
      • result:
      []
      
    • slic/utils/unused
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/unused/xsim
        type: Package
      
    • slic/utils/unused/xsim
      • Outcome: passed
      • result:
      []
      
temp-ci (1 tests)
  • temp-ci
    • Outcome: passed
    • result:
    []
    
tests (6 tests)
  • tests
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_ask_yes_no.py
      type: Module
    -   nodeid: tests/test_utils_channels.py
      type: Module
    -   nodeid: tests/test_utils_cpint.py
      type: Module
    -   nodeid: tests/test_utils_debug.py
      type: Module
    -   nodeid: tests/test_utils_dictext.py
      type: Module
    
    • tests/test_utils_ask_yes_no.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-y-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-yes-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-n-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-no-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input4-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input5-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input6-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-y-True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-n-False-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y--True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-y-True-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-n-False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n--False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input5-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input6-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input7-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input8-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input9-False-Invalid]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input5-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input6-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input9-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-user_input10-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input11-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input12-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input13-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-invalid-None-user_input0-False]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-None-notananswer-user_input1-True]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-n-nop-user_input2-False]
        type: Function
        lineno: 117
      
    • tests/test_utils_channels.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_channels.py::test_load_channels_and_channels_class_with_professional_names
        type: Function
        lineno: 42
      
    • tests/test_utils_cpint.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[red]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[blue]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[yellow]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[green]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[cyan]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[magenta]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[white]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[black]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects2-color_spec2- / -[] / {} / End-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects3-color_spec3-;-['', [3, 4]];done;0-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects7-color_spec7-==-['A', ['B']]==string==C-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects9-None-;-['no', 'color'];plain-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects10-None- | -['simple'] |  | 12-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects11-None- : -[['very', 'deep']] : {'ok': True}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects12-color_spec12-|-['fail', 'color']|123-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects13-color_spec13- * -['error'] * {}-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects14-color_spec14-//-['nope']//['bad']-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects15-color_spec15----wrong--base-ValueError]
        type: Function
        lineno: 24
      
    • tests/test_utils_debug.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry0-creating: A(10, 20)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry1-creating: A(10, 20, e=100)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_short_repr[abc-10-'abc']
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaaa...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[12345-10-12345]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value3-15-[0, 0, 0, 0, 0,...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[None-10-None]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxxx...]
        type: Function
        lineno: 52
      
    • tests/test_utils_dictext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data0-x-1]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data1-world-ok]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data2-outer-expected2]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data3-outer.inner-None]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data4-outer.inner-42]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial0-nouveau-123]
        type: Function
        lineno: 29
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial1-b-valeur]
        type: Function
        lineno: 29
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial0-a-expected_keys0]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial1-k-expected_keys1]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data0-expected_keys0]
        type: Function
        lineno: 58
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data1-expected_keys1]
        type: Function
        lineno: 58
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data0-x-1-None]
        type: Function
        lineno: 72
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'AttrDict' object has no attribute 'missing']
        type: Function
        lineno: 72
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs0-None-kwargs0-expected0]
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs1-other1-kwargs1-expected1]
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs2-other2-kwargs2-expected2]
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs3-None-kwargs3-expected3]
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs4-other4-kwargs4-expected4]
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs5-other5-kwargs5-expected5]
        type: Function
        lineno: 93
      
. (1 tests)
  • .
    • Outcome: passed
    • result:
    -   nodeid: ci-reports
      type: Dir
    -   nodeid: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

Warnings #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 #2
message: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py
lineno: 28
Warnings #3
message: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py
lineno: 3154
Warnings #4
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