Clone
1
run 1242 TEST commit 074bf9e
ci-bot edited this page 2025-07-25 10:48:55 +00:00

Test Report

View CI Run 1242 | Commit 074bf9e 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-'aaaaaaaaaa...] - assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
  
  - 'aaaaaaaaaa...
  ?  -
  + 'aaaaaaaaa...
FAILED tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] - AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
  
  - Obj(xxxxxxxxxxxxxxxxx...
  ?                     -
  + 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.82s ===================
🪵 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, html-4.1.1, metadata-3.1.1, cov-5.0.0, json-report-1.5.0
]0;slic[W 250725 10:48:51 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-'aaaaaaaaaa...] _

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

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

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

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

    @pytest.mark.parametrize(
        "value, cutoff, expected",
        [
            ("abc", 10, "'abc'"),
            ("a" * 100, 10, "'aaaaaaaaaa..."),
            (12345, 10, "12345"),
            ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
            (None, 10, "None"),
            (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
        ]
    )
    
    def test_short_repr(value, cutoff, expected):
>       assert short_repr(value, cutoff) == expected
E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
E         
E         - Obj(xxxxxxxxxxxxxxxxx...
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:48:54 CEST

🧾 General Info

  • duration: 5.819619417190552
  • 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.0007951022125780582
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008352159056812525
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000313265947625041
      

      outcome:

      passed
      
    • Test 2

      📌 Setup phase

      duration:

      0.000339386984705925
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005627158097922802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018613087013363838
      

      outcome:

      passed
      
    • Test 3

      📌 Setup phase

      duration:

      0.0003387080505490303
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006826601456850767
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019274302758276463
      

      outcome:

      passed
      
    • Test 4

      📌 Setup phase

      duration:

      0.00033179717138409615
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005073279608041048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019026105292141438
      

      outcome:

      passed
      
    • Test 5

      📌 Setup phase

      duration:

      0.0003260320518165827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000520594883710146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018853601068258286
      

      outcome:

      passed
      
    • Test 6

      📌 Setup phase

      duration:

      0.00032265298068523407
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006519211456179619
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019183708354830742
      

      outcome:

      passed
      
    • Test 7

      📌 Setup phase

      duration:

      0.00032456801272928715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000542165944352746
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001799080055207014
      

      outcome:

      passed
      
    • Test 8

      📌 Setup phase

      duration:

      0.00032345415093004704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004926510155200958
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001911649014800787
      

      outcome:

      passed
      
    • Test 9

      📌 Setup phase

      duration:

      0.00031755887903273106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005085710436105728
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017842301167547703
      

      outcome:

      passed
      
    • Test 10

      📌 Setup phase

      duration:

      0.00031738588586449623
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000621334882453084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017830682918429375
      

      outcome:

      passed
      
    • Test 11

      📌 Setup phase

      duration:

      0.0003294600173830986
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004892109427601099
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017789914272725582
      

      outcome:

      passed
      
    • Test 12

      📌 Setup phase

      duration:

      0.0003180350176990032
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005069889593869448
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018682191148400307
      

      outcome:

      passed
      
    • Test 13

      📌 Setup phase

      duration:

      0.0003210650756955147
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005014459602534771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020805210806429386
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 14

      📌 Setup phase

      duration:

      0.0003825260791927576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000684673897922039
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002141878940165043
      

      outcome:

      passed
      
    • Test 15

      📌 Setup phase

      duration:

      0.00035631307400763035
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005036140792071819
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018760794773697853
      

      outcome:

      passed
      
    • Test 16

      📌 Setup phase

      duration:

      0.00031746295280754566
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004900579806417227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020121620036661625
      

      outcome:

      passed
      
    • Test 17

      📌 Setup phase

      duration:

      0.0003209519200026989
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005128539633005857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019696983508765697
      

      outcome:

      passed
      
    • Test 18

      📌 Setup phase

      duration:

      0.0003221950028091669
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000631924020126462
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001919118221849203
      

      outcome:

      passed
      
    • Test 19

      📌 Setup phase

      duration:

      0.0003293741028755903
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005318347830325365
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018137809820473194
      

      outcome:

      passed
      
    • Test 20

      📌 Setup phase

      duration:

      0.00032272282987833023
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005343940574675798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017896713688969612
      

      outcome:

      passed
      
    • Test 21

      📌 Setup phase

      duration:

      0.00032119592651724815
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006689261645078659
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001923141535371542
      

      outcome:

      passed
      
    • Test 22

      📌 Setup phase

      duration:

      0.00031479494646191597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000544223003089428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018937909044325352
      

      outcome:

      passed
      
    • Test 23

      📌 Setup phase

      duration:

      0.00032818294130265713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000536409905180335
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018559210002422333
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 24

      📌 Setup phase

      duration:

      0.0003175539895892143
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005078129470348358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017935712821781635
      

      outcome:

      passed
      
    • Test 25

      📌 Setup phase

      duration:

      0.00031863898038864136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001019081100821495
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020515103824436665
      

      outcome:

      passed
      
    • Test 26

      📌 Setup phase

      duration:

      0.00031809601932764053
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005270871333777905
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019880500622093678
      

      outcome:

      passed
      
    • Test 27

      📌 Setup phase

      duration:

      0.00031906203366816044
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005115459207445383
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018442398868501186
      

      outcome:

      passed
      
    • Test 28

      📌 Setup phase

      duration:

      0.00032626697793602943
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006122931372374296
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018219882622361183
      

      outcome:

      passed
      
    • Test 29

      📌 Setup phase

      duration:

      0.00031939009204506874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005074830260127783
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017608702182769775
      

      outcome:

      passed
      
    • Test 30

      📌 Setup phase

      duration:

      0.0003391159698367119
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005299968179315329
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017788400873541832
      

      outcome:

      passed
      
    • Test 31

      📌 Setup phase

      duration:

      0.0003304739948362112
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000507633900269866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018666288815438747
      

      outcome:

      passed
      
    • Test 32

      📌 Setup phase

      duration:

      0.0003322330303490162
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006018779240548611
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001911770086735487
      

      outcome:

      passed
      
    • Test 33

      📌 Setup phase

      duration:

      0.00031553301960229874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000563301844522357
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019478192552924156
      

      outcome:

      passed
      
    • Test 34

      📌 Setup phase

      duration:

      0.00033247401006519794
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005172840319573879
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018184306100010872
      

      outcome:

      passed
      
    • Test 35

      📌 Setup phase

      duration:

      0.00033040507696568966
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005550801288336515
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003153439611196518
      

      outcome:

      passed
      
    • Test 36

      📌 Setup phase

      duration:

      0.0003556490410119295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005624738987535238
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019487994723021984
      

      outcome:

      passed
      
    • Test 37

      📌 Setup phase

      duration:

      0.0003664819523692131
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005297141615301371
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020621786825358868
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 38

      📌 Setup phase

      duration:

      0.0003782401327043772
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005910200998187065
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022145290859043598
      

      outcome:

      passed
      
    • Test 39

      📌 Setup phase

      duration:

      0.0003598388284444809
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006589710246771574
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022995099425315857
      

      outcome:

      passed
      
    • Test 40

      📌 Setup phase

      duration:

      0.00035703089088201523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005808589048683643
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000230015954002738
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 41

      📌 Setup phase

      duration:

      0.00013704807497560978
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011749181430786848
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012749899178743362
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 42

      📌 Setup phase

      duration:

      0.0001982199028134346
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024277507327497005
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012795603834092617
      

      outcome:

      passed
      
    • Test 43

      📌 Setup phase

      duration:

      0.0002386870328336954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016034184955060482
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012461491860449314
      

      outcome:

      passed
      
    • Test 44

      📌 Setup phase

      duration:

      0.0002131389919668436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015149894170463085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002045340370386839
      

      outcome:

      passed
      
    • Test 45

      📌 Setup phase

      duration:

      0.0001890980638563633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015518791042268276
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001409640535712242
      

      outcome:

      passed
      
    • Test 46

      📌 Setup phase

      duration:

      0.00018377299420535564
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001545199193060398
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014789286069571972
      

      outcome:

      passed
      
    • Test 47

      📌 Setup phase

      duration:

      0.00017744884826242924
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016640289686620235
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012406008318066597
      

      outcome:

      passed
      
    • Test 48

      📌 Setup phase

      duration:

      0.00017781415954232216
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001922990195453167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014226697385311127
      

      outcome:

      passed
      
    • Test 49

      📌 Setup phase

      duration:

      0.00018110591918230057
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015331199392676353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001235739327967167
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

    • Test 50

      📌 Setup phase

      duration:

      0.0008385730907320976
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002985149621963501
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002606830094009638
      

      outcome:

      passed
      
    • Test 51

      📌 Setup phase

      duration:

      0.0004706829786300659
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002314241137355566
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002787569537758827
      

      outcome:

      passed
      
    • Test 52

      📌 Setup phase

      duration:

      0.0004627569578588009
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021910411305725574
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002456789370626211
      

      outcome:

      passed
      
    • Test 53

      📌 Setup phase

      duration:

      0.00045093195512890816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002132959198206663
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002473860513418913
      

      outcome:

      passed
      
    • Test 54

      📌 Setup phase

      duration:

      0.0004714981187134981
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021432898938655853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024544214829802513
      

      outcome:

      passed
      
    • Test 55

      📌 Setup phase

      duration:

      0.0004550190642476082
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002359040081501007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002586080227047205
      

      outcome:

      passed
      
    • Test 56

      📌 Setup phase

      duration:

      0.00046176998876035213
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002186899073421955
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026231189258396626
      

      outcome:

      passed
      
    • Test 57

      📌 Setup phase

      duration:

      0.0004501459188759327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021568313241004944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002356390468776226
      

      outcome:

      passed
      
    • Test 58

      📌 Setup phase

      duration:

      0.00046037090942263603
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021959096193313599
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002503800205886364
      

      outcome:

      passed
      
    • Test 59

      📌 Setup phase

      duration:

      0.00044572283513844013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020952709019184113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023596896789968014
      

      outcome:

      passed
      
    • Test 60

      📌 Setup phase

      duration:

      0.0004514788743108511
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021293200552463531
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023744790814816952
      

      outcome:

      passed
      
    • Test 61

      📌 Setup phase

      duration:

      0.000428980914875865
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021885591559112072
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024436693638563156
      

      outcome:

      passed
      
    • Test 62

      📌 Setup phase

      duration:

      0.00044381897896528244
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005471790209412575
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002470070030540228
      

      outcome:

      passed
      
    • Test 63

      📌 Setup phase

      duration:

      0.00046226195991039276
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023415498435497284
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024037598632276058
      

      outcome:

      passed
      
    • Test 64

      📌 Setup phase

      duration:

      0.0004506469704210758
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023170304484665394
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002386749256402254
      

      outcome:

      passed
      
    • Test 65

      📌 Setup phase

      duration:

      0.0004810879472643137
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002275428269058466
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024415296502411366
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 66

      📌 Setup phase

      duration:

      0.000300960848107934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011131421197205782
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017967401072382927
      

      outcome:

      passed
      
    • Test 67

      📌 Setup phase

      duration:

      0.0002997650299221277
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008800958748906851
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017532892525196075
      

      outcome:

      passed
      
    • Test 68

      📌 Setup phase

      duration:

      0.0002830850426107645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009092190302908421
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018514902330935001
      

      outcome:

      passed
      
    • Test 69

      📌 Setup phase

      duration:

      0.00028435816057026386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007955720648169518
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016896706074476242
      

      outcome:

      passed
      
    • Test 70

      📌 Setup phase

      duration:

      0.00028357189148664474
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008820600342005491
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017620809376239777
      

      outcome:

      passed
      

    Function: test_short_repr

    • Test 71

      📌 Setup phase

      duration:

      0.00028303288854658604
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014106091111898422
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016441917978227139
      

      outcome:

      passed
      
    • Test 73

      📌 Setup phase

      duration:

      0.00036796298809349537
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001737878192216158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001607229933142662
      

      outcome:

      passed
      
    • Test 74

      📌 Setup phase

      duration:

      0.0002954760566353798
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015037809498608112
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016050692647695541
      

      outcome:

      passed
      
    • Test 75

      📌 Setup phase

      duration:

      0.00025932304561138153
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014710193499922752
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018084794282913208
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 77

      📌 Setup phase

      duration:

      0.0003262499812990427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001605211291462183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017080805264413357
      

      outcome:

      passed
      
    • Test 78

      📌 Setup phase

      duration:

      0.00027403305284678936
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015461002476513386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018334202468395233
      

      outcome:

      passed
      
    • Test 79

      📌 Setup phase

      duration:

      0.0002750351559370756
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014401692897081375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001602561678737402
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

    • Test 82

      📌 Setup phase

      duration:

      0.00031034299172461033
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016191205941140652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001750278752297163
      

      outcome:

      passed
      
    • Test 83

      📌 Setup phase

      duration:

      0.00028741895221173763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001490139402449131
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015781098045408726
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

    • Test 84

      📌 Setup phase

      duration:

      0.00025843316689133644
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001902331132441759
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016262102872133255
      

      outcome:

      passed
      
    • Test 85

      📌 Setup phase

      duration:

      0.0002718649338930845
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017114798538386822
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015602493658661842
      

      outcome:

      passed
      

    Function: test_attrdict_dir

    • Test 86

      📌 Setup phase

      duration:

      0.00023358012549579144
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016679195687174797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001390769612044096
      

      outcome:

      passed
      
    • Test 87

      📌 Setup phase

      duration:

      0.00021865591406822205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018155807629227638
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016865413635969162
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 88

      📌 Setup phase

      duration:

      0.00031567993573844433
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014258106239140034
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018699979409575462
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

    • Test 90

      📌 Setup phase

      duration:

      0.00033441116102039814
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016329390928149223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018748384900391102
      

      outcome:

      passed
      
    • Test 91

      📌 Setup phase

      duration:

      0.0003205828834325075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016431603580713272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018264004029333591
      

      outcome:

      passed
      
    • Test 92

      📌 Setup phase

      duration:

      0.00034764688462018967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001539471559226513
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016864994540810585
      

      outcome:

      passed
      
    • Test 93

      📌 Setup phase

      duration:

      0.0003297349903732538
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015659513883292675
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001706150360405445
      

      outcome:

      passed
      
    • Test 94

      📌 Setup phase

      duration:

      0.00031962315551936626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014622695744037628
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016249995678663254
      

      outcome:

      passed
      
    • Test 95

      📌 Setup phase

      duration:

      0.0003398528788238764
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002920120023190975
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019453605636954308
      

      outcome:

      passed
      
Failed (5)
  • 📄 test_utils_debug.py

    Function: test_short_repr

    • Test 72

      📌 Setup phase

      duration:

      0.00027056504040956497
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000960255041718483
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0003439199645072222
      

      outcome:

      passed
      
    • Test 76

      📌 Setup phase

      duration:

      0.00027322396636009216
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006646339315921068
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.000217461958527565
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 80

      📌 Setup phase

      duration:

      0.0002623060718178749
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019576307386159897
      

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

      outcome:

      passed
      
    • Test 81

      📌 Setup phase

      duration:

      0.00028946693055331707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001713661476969719
      

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

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 89

      📌 Setup phase

      duration:

      0.00032425811514258385
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007367150392383337
      

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

      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-'aaaaaaaaaa...]
        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(xxxxxxxxxxxxxxxxx...]
        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